diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2022-09-09 18:42:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-09 18:42:15 -0700 |
commit | 73b562e24e958e6d5c15aa96ddf4b2e8f31162f8 (patch) | |
tree | 7bf17a711f4d90888dd3e45b0ccd65ad9584b6ba /test/lit/help/wasm-reduce.test | |
parent | 15117dc049c6e71b2ea646fb36e034b13dae6435 (diff) | |
download | binaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.tar.gz binaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.tar.bz2 binaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.zip |
Remove typed-function-references feature (#5030)
In practice typed function references will not ship before GC and is not
independently useful, so it's not necessary to have a separate feature for it.
Roll the functionality previously enabled by --enable-typed-function-references
into --enable-gc instead.
This also avoids a problem with the ongoing implementation of the new GC bottom
heap types. That change will make all ref.null instructions in Binaryen IR refer
to one of the bottom heap types. But since those bottom types are introduced in
GC, it's not valid to emit them in binaries unless unless GC is enabled. The fix
if only reference types is enabled is to emit (ref.null func) instead
of (ref.null nofunc), but that doesn't always work if typed function references
are enabled because a function type more specific than func may be required.
Getting rid of typed function references as a separate feature makes this a
nonissue.
Diffstat (limited to 'test/lit/help/wasm-reduce.test')
-rw-r--r-- | test/lit/help/wasm-reduce.test | 179 |
1 files changed, 86 insertions, 93 deletions
diff --git a/test/lit/help/wasm-reduce.test b/test/lit/help/wasm-reduce.test index 08e02a944..58e694535 100644 --- a/test/lit/help/wasm-reduce.test +++ b/test/lit/help/wasm-reduce.test @@ -10,162 +10,155 @@ ;; CHECK-NEXT: wasm-reduce options: ;; CHECK-NEXT: -------------------- ;; CHECK-NEXT: -;; CHECK-NEXT: --command,-cmd The command to run on the test, that we -;; CHECK-NEXT: want to reduce while keeping the -;; CHECK-NEXT: command's output identical. We look at -;; CHECK-NEXT: the command's return code and stdout here -;; CHECK-NEXT: (TODO: stderr), and we reduce while -;; CHECK-NEXT: keeping those unchanged. +;; CHECK-NEXT: --command,-cmd The command to run on the test, that we +;; CHECK-NEXT: want to reduce while keeping the command's +;; CHECK-NEXT: output identical. We look at the command's +;; CHECK-NEXT: return code and stdout here (TODO: +;; CHECK-NEXT: stderr), and we reduce while keeping those +;; CHECK-NEXT: unchanged. ;; CHECK-NEXT: -;; CHECK-NEXT: --test,-t Test file (this will be written to to -;; CHECK-NEXT: test, the given command should read it -;; CHECK-NEXT: when we call it) +;; CHECK-NEXT: --test,-t Test file (this will be written to to +;; CHECK-NEXT: test, the given command should read it +;; CHECK-NEXT: when we call it) ;; CHECK-NEXT: -;; CHECK-NEXT: --working,-w Working file (this will contain the -;; CHECK-NEXT: current good state while doing temporary -;; CHECK-NEXT: computations, and will contain the final -;; CHECK-NEXT: best result at the end) +;; CHECK-NEXT: --working,-w Working file (this will contain the +;; CHECK-NEXT: current good state while doing temporary +;; CHECK-NEXT: computations, and will contain the final +;; CHECK-NEXT: best result at the end) ;; CHECK-NEXT: -;; CHECK-NEXT: --binaries,-b binaryen binaries location (bin/ -;; CHECK-NEXT: directory) +;; CHECK-NEXT: --binaries,-b binaryen binaries location (bin/ +;; CHECK-NEXT: directory) ;; CHECK-NEXT: -;; CHECK-NEXT: --text,-S Emit intermediate files as text, instead -;; CHECK-NEXT: of binary (also make sure the test and -;; CHECK-NEXT: working files have a .wat or .wast -;; CHECK-NEXT: suffix) +;; CHECK-NEXT: --text,-S Emit intermediate files as text, instead +;; CHECK-NEXT: of binary (also make sure the test and +;; CHECK-NEXT: working files have a .wat or .wast suffix) ;; CHECK-NEXT: -;; CHECK-NEXT: --denan Avoid nans when reducing +;; CHECK-NEXT: --denan Avoid nans when reducing ;; CHECK-NEXT: -;; CHECK-NEXT: --verbose,-v Verbose output mode +;; CHECK-NEXT: --verbose,-v Verbose output mode ;; CHECK-NEXT: -;; CHECK-NEXT: --debugInfo,-g Keep debug info in binaries +;; CHECK-NEXT: --debugInfo,-g Keep debug info in binaries ;; CHECK-NEXT: -;; CHECK-NEXT: --force,-f Force the reduction attempt, ignoring -;; CHECK-NEXT: problems that imply it is unlikely to -;; CHECK-NEXT: succeed +;; CHECK-NEXT: --force,-f Force the reduction attempt, ignoring +;; CHECK-NEXT: problems that imply it is unlikely to +;; CHECK-NEXT: succeed ;; CHECK-NEXT: -;; CHECK-NEXT: --timeout,-to A timeout to apply to each execution of -;; CHECK-NEXT: the command, in seconds (default: 2) +;; CHECK-NEXT: --timeout,-to A timeout to apply to each execution of +;; CHECK-NEXT: the command, in seconds (default: 2) ;; CHECK-NEXT: -;; CHECK-NEXT: --extra-flags,-ef Extra commandline flags to pass to -;; CHECK-NEXT: wasm-opt while reducing. (default: -;; CHECK-NEXT: --enable-all) +;; CHECK-NEXT: --extra-flags,-ef Extra commandline flags to pass to +;; CHECK-NEXT: wasm-opt while reducing. (default: +;; CHECK-NEXT: --enable-all) ;; CHECK-NEXT: ;; CHECK-NEXT: ;; CHECK-NEXT: Tool options: ;; CHECK-NEXT: ------------- ;; CHECK-NEXT: -;; CHECK-NEXT: --mvp-features,-mvp Disable all non-MVP features +;; CHECK-NEXT: --mvp-features,-mvp Disable all non-MVP features ;; CHECK-NEXT: -;; CHECK-NEXT: --all-features,-all Enable all features +;; CHECK-NEXT: --all-features,-all Enable all features ;; CHECK-NEXT: -;; CHECK-NEXT: --detect-features (deprecated - this flag does nothing) +;; CHECK-NEXT: --detect-features (deprecated - this flag does nothing) ;; CHECK-NEXT: -;; CHECK-NEXT: --quiet,-q Emit less verbose output and hide trivial -;; CHECK-NEXT: warnings. +;; CHECK-NEXT: --quiet,-q Emit less verbose output and hide trivial +;; CHECK-NEXT: warnings. ;; CHECK-NEXT: -;; CHECK-NEXT: --experimental-poppy Parse wast files as Poppy IR for testing -;; CHECK-NEXT: purposes. +;; CHECK-NEXT: --experimental-poppy Parse wast files as Poppy IR for testing +;; CHECK-NEXT: purposes. ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-sign-ext Enable sign extension operations +;; CHECK-NEXT: --enable-sign-ext Enable sign extension operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-sign-ext Disable sign extension operations +;; CHECK-NEXT: --disable-sign-ext Disable sign extension operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-threads Enable atomic operations +;; CHECK-NEXT: --enable-threads Enable atomic operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-threads Disable atomic operations +;; CHECK-NEXT: --disable-threads Disable atomic operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-mutable-globals Enable mutable globals +;; CHECK-NEXT: --enable-mutable-globals Enable mutable globals ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-mutable-globals Disable mutable globals +;; CHECK-NEXT: --disable-mutable-globals Disable mutable globals ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-nontrapping-float-to-int Enable nontrapping float-to-int -;; CHECK-NEXT: operations +;; CHECK-NEXT: --enable-nontrapping-float-to-int Enable nontrapping float-to-int operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-nontrapping-float-to-int Disable nontrapping float-to-int -;; CHECK-NEXT: operations +;; CHECK-NEXT: --disable-nontrapping-float-to-int Disable nontrapping float-to-int +;; CHECK-NEXT: operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-simd Enable SIMD operations and types +;; CHECK-NEXT: --enable-simd Enable SIMD operations and types ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-simd Disable SIMD operations and types +;; CHECK-NEXT: --disable-simd Disable SIMD operations and types ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-bulk-memory Enable bulk memory operations +;; CHECK-NEXT: --enable-bulk-memory Enable bulk memory operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-bulk-memory Disable bulk memory operations +;; CHECK-NEXT: --disable-bulk-memory Disable bulk memory operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-exception-handling Enable exception handling operations +;; CHECK-NEXT: --enable-exception-handling Enable exception handling operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-exception-handling Disable exception handling operations +;; CHECK-NEXT: --disable-exception-handling Disable exception handling operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-tail-call Enable tail call operations +;; CHECK-NEXT: --enable-tail-call Enable tail call operations ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-tail-call Disable tail call operations +;; CHECK-NEXT: --disable-tail-call Disable tail call operations ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-reference-types Enable reference types +;; CHECK-NEXT: --enable-reference-types Enable reference types ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-reference-types Disable reference types +;; CHECK-NEXT: --disable-reference-types Disable reference types ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-multivalue Enable multivalue functions +;; CHECK-NEXT: --enable-multivalue Enable multivalue functions ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-multivalue Disable multivalue functions +;; CHECK-NEXT: --disable-multivalue Disable multivalue functions ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-gc Enable garbage collection +;; CHECK-NEXT: --enable-gc Enable garbage collection ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-gc Disable garbage collection +;; CHECK-NEXT: --disable-gc Disable garbage collection ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-memory64 Enable memory64 +;; CHECK-NEXT: --enable-memory64 Enable memory64 ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-memory64 Disable memory64 +;; CHECK-NEXT: --disable-memory64 Disable memory64 ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-typed-function-references Enable typed function references +;; CHECK-NEXT: --enable-gc-nn-locals Enable GC non-null locals ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-typed-function-references Disable typed function references +;; CHECK-NEXT: --disable-gc-nn-locals Disable GC non-null locals ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-gc-nn-locals Enable GC non-null locals +;; CHECK-NEXT: --enable-relaxed-simd Enable relaxed SIMD ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-gc-nn-locals Disable GC non-null locals +;; CHECK-NEXT: --disable-relaxed-simd Disable relaxed SIMD ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-relaxed-simd Enable relaxed SIMD +;; CHECK-NEXT: --enable-extended-const Enable extended const expressions ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-relaxed-simd Disable relaxed SIMD +;; CHECK-NEXT: --disable-extended-const Disable extended const expressions ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-extended-const Enable extended const expressions +;; CHECK-NEXT: --enable-strings Enable strings ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-extended-const Disable extended const expressions +;; CHECK-NEXT: --disable-strings Disable strings ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-strings Enable strings +;; CHECK-NEXT: --enable-multi-memories Enable multi-memories ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-strings Disable strings +;; CHECK-NEXT: --disable-multi-memories Disable multi-memories ;; CHECK-NEXT: -;; CHECK-NEXT: --enable-multi-memories Enable multi-memories +;; CHECK-NEXT: --no-validation,-n Disables validation, assumes inputs are +;; CHECK-NEXT: correct ;; CHECK-NEXT: -;; CHECK-NEXT: --disable-multi-memories Disable multi-memories +;; 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: --no-validation,-n Disables validation, assumes inputs are -;; CHECK-NEXT: correct +;; CHECK-NEXT: --nominal Force all GC type definitions to be parsed +;; CHECK-NEXT: as nominal. ;; 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: --structural Force all GC type definitions to be parsed +;; CHECK-NEXT: as structural (i.e. equirecursive). This +;; CHECK-NEXT: is the default. ;; CHECK-NEXT: -;; CHECK-NEXT: --nominal Force all GC type definitions to be -;; CHECK-NEXT: parsed as nominal. -;; CHECK-NEXT: -;; CHECK-NEXT: --structural Force all GC type definitions to be -;; CHECK-NEXT: parsed as structural (i.e. -;; CHECK-NEXT: equirecursive). This is the default. -;; CHECK-NEXT: -;; CHECK-NEXT: --hybrid Force all GC type definitions to be -;; CHECK-NEXT: parsed using the isorecursive hybrid type -;; CHECK-NEXT: system. +;; CHECK-NEXT: --hybrid Force all GC type definitions to be parsed +;; CHECK-NEXT: using the isorecursive hybrid type system. ;; CHECK-NEXT: ;; CHECK-NEXT: ;; CHECK-NEXT: General options: ;; CHECK-NEXT: ---------------- ;; CHECK-NEXT: -;; CHECK-NEXT: --version Output version information and exit +;; CHECK-NEXT: --version Output version information and exit ;; CHECK-NEXT: -;; CHECK-NEXT: --help,-h Show this help message and exit +;; CHECK-NEXT: --help,-h Show this help message and exit ;; CHECK-NEXT: -;; CHECK-NEXT: --debug,-d Print debug information to stderr +;; CHECK-NEXT: --debug,-d Print debug information to stderr ;; CHECK-NEXT: |