| ;; RUN: wasm-split --help | filecheck %s | |
| CHECK: wasm-split INFILES | |
| CHECK-NEXT: | |
| CHECK-NEXT: Split a module into a primary module and a secondary module, or instrument a | |
| CHECK-NEXT: module to gather a profile that can inform future splitting, or manage such | |
| CHECK-NEXT: profiles. Options that are only accepted in particular modes are marked with the | |
| CHECK-NEXT: accepted "[<modes>]" in their descriptions. | |
| CHECK-NEXT: | |
| CHECK-NEXT: Options: | |
| ;; Skip standard tool options | |
| CHECK: --split Split an input module into two output | |
| CHECK-NEXT: modules. The default mode. | |
| CHECK-NEXT: --instrument Instrument an input module to allow it to | |
| CHECK-NEXT: generate a profile that can be used to | |
| CHECK-NEXT: guide splitting. | |
| CHECK-NEXT: --merge-profiles Merge multiple profiles for the same | |
| CHECK-NEXT: module into a single profile. | |
| CHECK-NEXT: --profile [split] The profile to use to guide | |
| CHECK-NEXT: splitting. | |
| CHECK-NEXT: --keep-funcs [split] Comma-separated list of functions | |
| CHECK-NEXT: to keep in the primary module, regardless | |
| CHECK-NEXT: of any profile. | |
| CHECK-NEXT: --split-funcs [split] Comma-separated list of functions | |
| CHECK-NEXT: to split into the secondary module, | |
| CHECK-NEXT: regardless of any profile. If there is no | |
| CHECK-NEXT: profile, then this defaults to all | |
| CHECK-NEXT: functions defined in the module. | |
| CHECK-NEXT: --primary-output,-o1 [split] Output file for the primary | |
| CHECK-NEXT: module. | |
| CHECK-NEXT: --secondary-output,-o2 [split] Output file for the secondary | |
| CHECK-NEXT: module. | |
| CHECK-NEXT: --symbolmap [split] Write a symbol map file for each | |
| CHECK-NEXT: of the output modules. | |
| CHECK-NEXT: --import-namespace [split] The namespace from which to | |
| CHECK-NEXT: import objects from the primary module | |
| CHECK-NEXT: into the secondary module. | |
| CHECK-NEXT: --placeholder-namespace [split] The namespace from which to | |
| CHECK-NEXT: import placeholder functions into the | |
| CHECK-NEXT: primary module. | |
| CHECK-NEXT: --export-prefix [split] An identifying prefix to prepend | |
| CHECK-NEXT: to new export names created by module | |
| CHECK-NEXT: splitting. | |
| CHECK-NEXT: --profile-export [instrument] The export name of the | |
| CHECK-NEXT: function the embedder calls to write the | |
| CHECK-NEXT: profile into memory. Defaults to | |
| CHECK-NEXT: `__write_profile`. | |
| CHECK-NEXT: --emit-module-names [split, instrument] Emit module names, | |
| CHECK-NEXT: even if not emitting the rest of the | |
| CHECK-NEXT: names section. Can help differentiate the | |
| CHECK-NEXT: modules in stack traces. This option will | |
| CHECK-NEXT: be removed once simpler ways of naming | |
| CHECK-NEXT: modules are widely available. See | |
| CHECK-NEXT: https://bugs.chromium.org/p/v8/issues/detail?id=11808. | |
| CHECK-NEXT: --initial-table [split, instrument] A hack to ensure the | |
| CHECK-NEXT: split and instrumented modules have the | |
| CHECK-NEXT: same table size when using Emscripten's | |
| CHECK-NEXT: SPLIT_MODULE mode with dynamic linking. | |
| CHECK-NEXT: TODO: Figure out a more elegant solution | |
| CHECK-NEXT: for that use case and remove this. | |
| CHECK-NEXT: --emit-text,-S [split, instrument] Emit text instead of | |
| CHECK-NEXT: binary for the output file or files. | |
| CHECK-NEXT: --debuginfo,-g [split, instrument] Emit names section in | |
| CHECK-NEXT: wasm binary (or full debuginfo in wast) | |
| CHECK-NEXT: --output,-o [instrument, merge-profiles] Output file. | |
| CHECK-NEXT: --verbose,-v Verbose output mode. Prints the functions | |
| CHECK-NEXT: that will be kept and split out when | |
| CHECK-NEXT: splitting a module. |