summaryrefslogtreecommitdiff
path: root/test/lit/help/wasm-split.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit/help/wasm-split.test')
-rw-r--r--test/lit/help/wasm-split.test101
1 files changed, 101 insertions, 0 deletions
diff --git a/test/lit/help/wasm-split.test b/test/lit/help/wasm-split.test
new file mode 100644
index 000000000..28f079d2f
--- /dev/null
+++ b/test/lit/help/wasm-split.test
@@ -0,0 +1,101 @@
+;; RUN: wasm-split --help | filecheck %s
+
+;; CHECK-NEXT: 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:
+
+;; Skip standard tool options
+
+;; CHECK: --no-validation,-n Disables validation, assumes inputs are
+;; CHECK-NEXT: correct
+;; CHECK-NEXT:
+;; CHECK-NEXT: --pass-arg,-pa An argument passed along to optimization
+;; CHECK-NEXT: passes being run. Must be in the form
+;; CHECK-NEXT: KEY@VALUE
+;; CHECK-NEXT:
+;; CHECK-NEXT: --nominal Use the prototype nominal type system
+;; CHECK-NEXT: instead of the normal equirecursive type
+;; CHECK-NEXT: system.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --split Split an input module into two output
+;; CHECK-NEXT: modules. The default mode.
+;; CHECK-NEXT:
+;; 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:
+;; CHECK-NEXT: --merge-profiles Merge multiple profiles for the same
+;; CHECK-NEXT: module into a single profile.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --profile [split] The profile to use to guide
+;; CHECK-NEXT: splitting.
+;; CHECK-NEXT:
+;; 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:
+;; 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:
+;; CHECK-NEXT: --primary-output,-o1 [split] Output file for the primary
+;; CHECK-NEXT: module.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --secondary-output,-o2 [split] Output file for the secondary
+;; CHECK-NEXT: module.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --symbolmap [split] Write a symbol map file for each
+;; CHECK-NEXT: of the output modules.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --placeholdermap [split] Write a file mapping placeholder
+;; CHECK-NEXT: indices to the function names.
+;; CHECK-NEXT:
+;; 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:
+;; CHECK-NEXT: --placeholder-namespace [split] The namespace from which to
+;; CHECK-NEXT: import placeholder functions into the
+;; CHECK-NEXT: primary module.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --export-prefix [split] An identifying prefix to prepend
+;; CHECK-NEXT: to new export names created by module
+;; CHECK-NEXT: splitting.
+;; CHECK-NEXT:
+;; 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:
+;; 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:
+;; 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:
+;; CHECK-NEXT: --emit-text,-S [split, instrument] Emit text instead of
+;; CHECK-NEXT: binary for the output file or files.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --debuginfo,-g [split, instrument] Emit names section in
+;; CHECK-NEXT: wasm binary (or full debuginfo in wast)
+;; CHECK-NEXT:
+;; CHECK-NEXT: --output,-o [instrument, merge-profiles] Output file.
+;; CHECK-NEXT:
+;; 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.