summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/fuzz_opt.py1
-rw-r--r--src/binaryen-c.cpp3
-rw-r--r--src/binaryen-c.h1
-rw-r--r--src/js/binaryen.js-post.js1
-rw-r--r--src/passes/MergeSimilarFunctions.cpp3
-rw-r--r--src/tools/fuzzing/fuzzing.cpp9
-rw-r--r--src/tools/tool-options.h2
-rw-r--r--src/wasm-binary.h1
-rw-r--r--src/wasm-features.h23
-rw-r--r--src/wasm/wasm-binary.cpp5
-rw-r--r--src/wasm/wasm-validator.cpp25
-rw-r--r--src/wasm/wasm.cpp1
-rw-r--r--test/binaryen.js/kitchen-sink.js1
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt9
-rw-r--r--test/example/c-api-kitchen-sink.c2
-rw-r--r--test/example/c-api-kitchen-sink.txt9
-rw-r--r--test/lit/help/wasm-as.test132
-rw-r--r--test/lit/help/wasm-ctor-eval.test142
-rw-r--r--test/lit/help/wasm-dis.test126
-rw-r--r--test/lit/help/wasm-emscripten-finalize.test187
-rw-r--r--test/lit/help/wasm-metadce.test134
-rw-r--r--test/lit/help/wasm-opt.test5
-rw-r--r--test/lit/help/wasm-reduce.test179
-rw-r--r--test/lit/help/wasm-split.test324
-rw-r--r--test/lit/help/wasm2js.test5
-rw-r--r--test/lit/passes/instrument-locals_all-features_disable-gc.wast (renamed from test/lit/passes/instrument-locals_all-features_disable-typed-function-references.wast)2
-rw-r--r--test/lit/passes/merge-similar-functions.wast2
-rw-r--r--test/lit/passes/optimize-instructions-typed-function-references.wast17
-rw-r--r--test/passes/strip-target-features_roundtrip_print-features_all-features.txt1
-rw-r--r--test/passes/translate-to-fuzz_all-features_metrics_noprint.txt69
-rw-r--r--test/unit/test_features.py1
31 files changed, 655 insertions, 767 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py
index d287bee97..a5f8a3586 100755
--- a/scripts/fuzz_opt.py
+++ b/scripts/fuzz_opt.py
@@ -1382,7 +1382,6 @@ print('POSSIBLE_FEATURE_OPTS:', POSSIBLE_FEATURE_OPTS)
# disabled, its dependent features need to be disabled as well.
IMPLIED_FEATURE_OPTS = {
'--disable-reference-types': ['--disable-gc'],
- '--disable-typed-function-references': ['--disable-gc'],
}
print('''
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index c96411ae0..914e37695 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -377,9 +377,6 @@ BinaryenFeatures BinaryenFeatureGC(void) {
BinaryenFeatures BinaryenFeatureMemory64(void) {
return static_cast<BinaryenFeatures>(FeatureSet::Memory64);
}
-BinaryenFeatures BinaryenFeatureTypedFunctionReferences(void) {
- return static_cast<BinaryenFeatures>(FeatureSet::TypedFunctionReferences);
-}
BinaryenFeatures BinaryenFeatureRelaxedSIMD(void) {
return static_cast<BinaryenFeatures>(FeatureSet::RelaxedSIMD);
}
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index f3e305d03..4e37b177a 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -202,7 +202,6 @@ BINARYEN_API BinaryenFeatures BinaryenFeatureReferenceTypes(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureMultivalue(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureGC(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureMemory64(void);
-BINARYEN_API BinaryenFeatures BinaryenFeatureTypedFunctionReferences(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureRelaxedSIMD(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureExtendedConst(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureStrings(void);
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index f9e4d0d44..158e3f29b 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -164,7 +164,6 @@ function initializeConstants() {
'Multivalue',
'GC',
'Memory64',
- 'TypedFunctionReferences',
'RelaxedSIMD',
'ExtendedConst',
'Strings',
diff --git a/src/passes/MergeSimilarFunctions.cpp b/src/passes/MergeSimilarFunctions.cpp
index 9edf327fc..38cae8059 100644
--- a/src/passes/MergeSimilarFunctions.cpp
+++ b/src/passes/MergeSimilarFunctions.cpp
@@ -202,8 +202,7 @@ struct MergeSimilarFunctions : public Pass {
// Parameterize direct calls if the module supports func ref values.
bool isCallIndirectionEnabled(Module* module) const {
- return module->features.hasReferenceTypes() &&
- module->features.hasTypedFunctionReferences();
+ return module->features.hasReferenceTypes() && module->features.hasGC();
}
bool areInEquvalentClass(Function* lhs, Function* rhs, Module* module);
void collectEquivalentClasses(std::vector<EquivalentClass>& classes,
diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp
index e00c7f4fa..3d84af26a 100644
--- a/src/tools/fuzzing/fuzzing.cpp
+++ b/src/tools/fuzzing/fuzzing.cpp
@@ -938,8 +938,7 @@ Expression* TranslateToFuzzReader::_makeConcrete(Type type) {
WeightedOption{&Self::makeBreak, Important},
&Self::makeCall,
&Self::makeCallIndirect)
- .add(FeatureSet::TypedFunctionReferences | FeatureSet::ReferenceTypes,
- &Self::makeCallRef);
+ .add(FeatureSet::GC | FeatureSet::ReferenceTypes, &Self::makeCallRef);
}
if (type.isSingle()) {
options
@@ -999,8 +998,7 @@ Expression* TranslateToFuzzReader::_makenone() {
&Self::makeGlobalSet)
.add(FeatureSet::BulkMemory, &Self::makeBulkMemory)
.add(FeatureSet::Atomics, &Self::makeAtomic)
- .add(FeatureSet::TypedFunctionReferences | FeatureSet::ReferenceTypes,
- &Self::makeCallRef);
+ .add(FeatureSet::GC | FeatureSet::ReferenceTypes, &Self::makeCallRef);
return (this->*pick(options))(Type::none);
}
@@ -1025,8 +1023,7 @@ Expression* TranslateToFuzzReader::_makeunreachable() {
&Self::makeSwitch,
&Self::makeDrop,
&Self::makeReturn)
- .add(FeatureSet::TypedFunctionReferences | FeatureSet::ReferenceTypes,
- &Self::makeCallRef);
+ .add(FeatureSet::GC | FeatureSet::ReferenceTypes, &Self::makeCallRef);
return (this->*pick(options))(Type::unreachable);
}
diff --git a/src/tools/tool-options.h b/src/tools/tool-options.h
index 0cc1722a7..8709fb07f 100644
--- a/src/tools/tool-options.h
+++ b/src/tools/tool-options.h
@@ -89,8 +89,6 @@ struct ToolOptions : public Options {
.addFeature(FeatureSet::Multivalue, "multivalue functions")
.addFeature(FeatureSet::GC, "garbage collection")
.addFeature(FeatureSet::Memory64, "memory64")
- .addFeature(FeatureSet::TypedFunctionReferences,
- "typed function references")
.addFeature(FeatureSet::GCNNLocals, "GC non-null locals")
.addFeature(FeatureSet::RelaxedSIMD, "relaxed SIMD")
.addFeature(FeatureSet::ExtendedConst, "extended const expressions")
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index ab55b6f50..14a77ea41 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -434,7 +434,6 @@ extern const char* ReferenceTypesFeature;
extern const char* MultivalueFeature;
extern const char* GCFeature;
extern const char* Memory64Feature;
-extern const char* TypedFunctionReferencesFeature;
extern const char* RelaxedSIMDFeature;
extern const char* ExtendedConstFeature;
extern const char* StringsFeature;
diff --git a/src/wasm-features.h b/src/wasm-features.h
index 4b3f7c85a..7bdefd02a 100644
--- a/src/wasm-features.h
+++ b/src/wasm-features.h
@@ -38,18 +38,17 @@ struct FeatureSet {
Multivalue = 1 << 9,
GC = 1 << 10,
Memory64 = 1 << 11,
- TypedFunctionReferences = 1 << 12,
// TODO: Remove this feature when the wasm spec stabilizes.
- GCNNLocals = 1 << 13,
- RelaxedSIMD = 1 << 14,
- ExtendedConst = 1 << 15,
- Strings = 1 << 16,
- MultiMemories = 1 << 17,
+ GCNNLocals = 1 << 12,
+ RelaxedSIMD = 1 << 13,
+ ExtendedConst = 1 << 14,
+ Strings = 1 << 15,
+ MultiMemories = 1 << 16,
// GCNNLocals are opt-in: merely asking for "All" does not apply them. To
// get all possible values use AllPossible. See setAll() below for more
// details.
- All = ((1 << 18) - 1) & ~GCNNLocals,
- AllPossible = (1 << 18) - 1,
+ All = ((1 << 17) - 1) & ~GCNNLocals,
+ AllPossible = (1 << 17) - 1,
};
static std::string toString(Feature f) {
@@ -78,8 +77,6 @@ struct FeatureSet {
return "gc";
case Memory64:
return "memory64";
- case TypedFunctionReferences:
- return "typed-function-references";
case GCNNLocals:
return "gc-nn-locals";
case RelaxedSIMD:
@@ -130,9 +127,6 @@ struct FeatureSet {
bool hasMultivalue() const { return (features & Multivalue) != 0; }
bool hasGC() const { return (features & GC) != 0; }
bool hasMemory64() const { return (features & Memory64) != 0; }
- bool hasTypedFunctionReferences() const {
- return (features & TypedFunctionReferences) != 0;
- }
bool hasGCNNLocals() const { return (features & GCNNLocals) != 0; }
bool hasRelaxedSIMD() const { return (features & RelaxedSIMD) != 0; }
bool hasExtendedConst() const { return (features & ExtendedConst) != 0; }
@@ -155,9 +149,6 @@ struct FeatureSet {
void setMultivalue(bool v = true) { set(Multivalue, v); }
void setGC(bool v = true) { set(GC, v); }
void setMemory64(bool v = true) { set(Memory64, v); }
- void setTypedFunctionReferences(bool v = true) {
- set(TypedFunctionReferences, v);
- }
void setGCNNLocals(bool v = true) { set(GCNNLocals, v); }
void setRelaxedSIMD(bool v = true) { set(RelaxedSIMD, v); }
void setExtendedConst(bool v = true) { set(ExtendedConst, v); }
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp
index 03ae5ce5a..9540bd8f3 100644
--- a/src/wasm/wasm-binary.cpp
+++ b/src/wasm/wasm-binary.cpp
@@ -1218,8 +1218,6 @@ void WasmBinaryWriter::writeFeaturesSection() {
return BinaryConsts::UserSections::GCFeature;
case FeatureSet::Memory64:
return BinaryConsts::UserSections::Memory64Feature;
- case FeatureSet::TypedFunctionReferences:
- return BinaryConsts::UserSections::TypedFunctionReferencesFeature;
case FeatureSet::RelaxedSIMD:
return BinaryConsts::UserSections::RelaxedSIMDFeature;
case FeatureSet::ExtendedConst:
@@ -3519,9 +3517,6 @@ void WasmBinaryBuilder::readFeatures(size_t payloadLen) {
feature = FeatureSet::GC;
} else if (name == BinaryConsts::UserSections::Memory64Feature) {
feature = FeatureSet::Memory64;
- } else if (name ==
- BinaryConsts::UserSections::TypedFunctionReferencesFeature) {
- feature = FeatureSet::TypedFunctionReferences;
} else if (name == BinaryConsts::UserSections::RelaxedSIMDFeature) {
feature = FeatureSet::RelaxedSIMD;
} else if (name == BinaryConsts::UserSections::ExtendedConstFeature) {
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index c1a8eea7f..a6356766e 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -2450,9 +2450,8 @@ void FunctionValidator::visitTupleExtract(TupleExtract* curr) {
void FunctionValidator::visitCallRef(CallRef* curr) {
validateReturnCall(curr);
- shouldBeTrue(getModule()->features.hasTypedFunctionReferences(),
- curr,
- "call_ref requires typed-function-references to be enabled");
+ shouldBeTrue(
+ getModule()->features.hasGC(), curr, "call_ref requires gc to be enabled");
if (curr->target->type != Type::unreachable) {
if (shouldBeTrue(curr->target->type.isFunction(),
curr,
@@ -3228,11 +3227,11 @@ static void validateTables(Module& module, ValidationInfo& info) {
"Only function reference types or externref are valid "
"for table type (when GC is disabled)");
}
- if (!module.features.hasTypedFunctionReferences()) {
+ if (!module.features.hasGC()) {
info.shouldBeTrue(table->type == funcref || table->type == externref,
"table",
"Only funcref and externref are valid for table type "
- "(when typed-function references are disabled)");
+ "(when gc is disabled)");
}
}
@@ -3267,18 +3266,10 @@ static void validateTables(Module& module, ValidationInfo& info) {
module.features),
segment->offset,
"table segment offset should be reasonable");
- if (module.features.hasTypedFunctionReferences()) {
- info.shouldBeTrue(
- Type::isSubType(segment->type, table->type),
- "elem",
- "element segment type must be a subtype of the table type");
- } else {
- info.shouldBeEqual(
- segment->type,
- table->type,
- "elem",
- "element segment type must be the same as the table type");
- }
+ info.shouldBeTrue(
+ Type::isSubType(segment->type, table->type),
+ "elem",
+ "element segment type must be a subtype of the table type");
validator.validate(segment->offset);
} else {
info.shouldBeTrue(!segment->offset,
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp
index af40896ce..34bcf68c7 100644
--- a/src/wasm/wasm.cpp
+++ b/src/wasm/wasm.cpp
@@ -47,7 +47,6 @@ const char* ReferenceTypesFeature = "reference-types";
const char* MultivalueFeature = "multivalue";
const char* GCFeature = "gc";
const char* Memory64Feature = "memory64";
-const char* TypedFunctionReferencesFeature = "typed-function-references";
const char* RelaxedSIMDFeature = "relaxed-simd";
const char* ExtendedConstFeature = "extended-const";
const char* StringsFeature = "strings";
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 61e1c54f5..da472f174 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -96,7 +96,6 @@ function test_features() {
console.log("Features.Multivalue: " + binaryen.Features.Multivalue);
console.log("Features.GC: " + binaryen.Features.GC);
console.log("Features.Memory64: " + binaryen.Features.Memory64);
- console.log("Features.TypedFunctionReferences: " + binaryen.Features.TypedFunctionReferences);
console.log("Features.RelaxedSIMD: " + binaryen.Features.RelaxedSIMD);
console.log("Features.ExtendedConst: " + binaryen.Features.ExtendedConst);
console.log("Features.Strings: " + binaryen.Features.Strings);
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index a9209da59..93fc4b2fc 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -29,11 +29,10 @@ Features.ReferenceTypes: 256
Features.Multivalue: 512
Features.GC: 1024
Features.Memory64: 2048
-Features.TypedFunctionReferences: 4096
-Features.RelaxedSIMD: 16384
-Features.ExtendedConst: 32768
-Features.Strings: 65536
-Features.All: 253951
+Features.RelaxedSIMD: 8192
+Features.ExtendedConst: 16384
+Features.Strings: 32768
+Features.All: 126975
InvalidId: 0
BlockId: 1
IfId: 2
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 82651c7c3..37aa15bf8 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -361,8 +361,6 @@ void test_features() {
printf("BinaryenFeatureMultivalue: %d\n", BinaryenFeatureMultivalue());
printf("BinaryenFeatureGC: %d\n", BinaryenFeatureGC());
printf("BinaryenFeatureMemory64: %d\n", BinaryenFeatureMemory64());
- printf("BinaryenFeatureTypedFunctionReferences: %d\n",
- BinaryenFeatureTypedFunctionReferences());
printf("BinaryenFeatureRelaxedSIMD: %d\n", BinaryenFeatureRelaxedSIMD());
printf("BinaryenFeatureExtendedConst: %d\n", BinaryenFeatureExtendedConst());
printf("BinaryenFeatureStrings: %d\n", BinaryenFeatureStrings());
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 5c96ea964..a8e4d200b 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -42,11 +42,10 @@ BinaryenFeatureReferenceTypes: 256
BinaryenFeatureMultivalue: 512
BinaryenFeatureGC: 1024
BinaryenFeatureMemory64: 2048
-BinaryenFeatureTypedFunctionReferences: 4096
-BinaryenFeatureRelaxedSIMD: 16384
-BinaryenFeatureExtendedConst: 32768
-BinaryenFeatureStrings: 65536
-BinaryenFeatureAll: 253951
+BinaryenFeatureRelaxedSIMD: 8192
+BinaryenFeatureExtendedConst: 16384
+BinaryenFeatureStrings: 32768
+BinaryenFeatureAll: 126975
(f32.neg
(f32.const -33.61199951171875)
)
diff --git a/test/lit/help/wasm-as.test b/test/lit/help/wasm-as.test
index 320fcee2b..a6b67d466 100644
--- a/test/lit/help/wasm-as.test
+++ b/test/lit/help/wasm-as.test
@@ -10,133 +10,127 @@
;; CHECK-NEXT: wasm-as options:
;; CHECK-NEXT: ----------------
;; CHECK-NEXT:
-;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
+;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
;; CHECK-NEXT:
-;; CHECK-NEXT: --validate,-v Control validation of the output module
+;; CHECK-NEXT: --validate,-v Control validation of the output module
;; CHECK-NEXT:
-;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
+;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
;; CHECK-NEXT:
-;; CHECK-NEXT: --source-map,-sm Emit source map to the specified file
+;; CHECK-NEXT: --source-map,-sm Emit source map to the specified file
;; CHECK-NEXT:
-;; CHECK-NEXT: --source-map-url,-su Use specified string as source map URL
+;; CHECK-NEXT: --source-map-url,-su Use specified string as source map URL
;; CHECK-NEXT:
-;; CHECK-NEXT: --symbolmap,-s Emit a symbol map (indexes => names)
+;; CHECK-NEXT: --symbolmap,-s Emit a symbol map (indexes => names)
;; 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:
diff --git a/test/lit/help/wasm-ctor-eval.test b/test/lit/help/wasm-ctor-eval.test
index c8998d1e8..5b93cccb1 100644
--- a/test/lit/help/wasm-ctor-eval.test
+++ b/test/lit/help/wasm-ctor-eval.test
@@ -9,138 +9,132 @@
;; CHECK-NEXT: wasm-ctor-eval options:
;; CHECK-NEXT: -----------------------
;; CHECK-NEXT:
-;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
+;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
;; CHECK-NEXT:
-;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the
-;; CHECK-NEXT: output file
+;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the output
+;; CHECK-NEXT: file
;; CHECK-NEXT:
-;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
+;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
;; CHECK-NEXT:
-;; CHECK-NEXT: --ctors,-c Comma-separated list of global
-;; CHECK-NEXT: constructor functions to evaluate
+;; CHECK-NEXT: --ctors,-c Comma-separated list of global constructor
+;; CHECK-NEXT: functions to evaluate
;; CHECK-NEXT:
-;; CHECK-NEXT: --kept-exports,-ke Comma-separated list of ctors whose
-;; CHECK-NEXT: exports we keep around even if we eval
-;; CHECK-NEXT: those ctors
+;; CHECK-NEXT: --kept-exports,-ke Comma-separated list of ctors whose
+;; CHECK-NEXT: exports we keep around even if we eval
+;; CHECK-NEXT: those ctors
;; CHECK-NEXT:
-;; CHECK-NEXT: --ignore-external-input,-ipi Assumes no env vars are to be read, stdin
-;; CHECK-NEXT: is empty, etc.
+;; CHECK-NEXT: --ignore-external-input,-ipi Assumes no env vars are to be read, stdin
+;; CHECK-NEXT: is empty, etc.
;; 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:
diff --git a/test/lit/help/wasm-dis.test b/test/lit/help/wasm-dis.test
index cf16f94e8..881ce9069 100644
--- a/test/lit/help/wasm-dis.test
+++ b/test/lit/help/wasm-dis.test
@@ -10,126 +10,120 @@
;; CHECK-NEXT: wasm-dis options:
;; CHECK-NEXT: -----------------
;; CHECK-NEXT:
-;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
+;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
;; CHECK-NEXT:
-;; CHECK-NEXT: --source-map,-sm Consume source map from the specified
-;; CHECK-NEXT: file to add location information
+;; CHECK-NEXT: --source-map,-sm Consume source map from the specified file
+;; CHECK-NEXT: to add location information
;; 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:
diff --git a/test/lit/help/wasm-emscripten-finalize.test b/test/lit/help/wasm-emscripten-finalize.test
index 4a2795ab8..5ca1c9c86 100644
--- a/test/lit/help/wasm-emscripten-finalize.test
+++ b/test/lit/help/wasm-emscripten-finalize.test
@@ -9,54 +9,53 @@
;; CHECK-NEXT: wasm-emscripten-finalize options:
;; CHECK-NEXT: ---------------------------------
;; CHECK-NEXT:
-;; CHECK-NEXT: --output,-o Output file
+;; CHECK-NEXT: --output,-o Output file
;; CHECK-NEXT:
-;; CHECK-NEXT: --debuginfo,-g Emit names section in wasm binary (or
-;; CHECK-NEXT: full debuginfo in wast)
+;; CHECK-NEXT: --debuginfo,-g Emit names section in wasm binary (or full
+;; CHECK-NEXT: debuginfo in wast)
;; CHECK-NEXT:
-;; CHECK-NEXT: --dwarf Update DWARF debug info
+;; CHECK-NEXT: --dwarf Update DWARF debug info
;; CHECK-NEXT:
-;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the
-;; CHECK-NEXT: output file. In this mode if no output
-;; CHECK-NEXT: file is specified, we write to stdout.
+;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the output
+;; CHECK-NEXT: file. In this mode if no output file is
+;; CHECK-NEXT: specified, we write to stdout.
;; CHECK-NEXT:
-;; CHECK-NEXT: --global-base The address at which static globals were
-;; CHECK-NEXT: placed
+;; CHECK-NEXT: --global-base The address at which static globals were
+;; CHECK-NEXT: placed
;; CHECK-NEXT:
-;; CHECK-NEXT: --side-module Input is an emscripten side module
+;; CHECK-NEXT: --side-module Input is an emscripten side module
;; CHECK-NEXT:
-;; CHECK-NEXT: --input-source-map,-ism Consume source map from the specified
-;; CHECK-NEXT: file
+;; CHECK-NEXT: --input-source-map,-ism Consume source map from the specified file
;; CHECK-NEXT:
-;; CHECK-NEXT: --no-legalize-javascript-ffi,-nj Do not fully legalize (i64->i32,
-;; CHECK-NEXT: f32->f64) the imports and exports for
-;; CHECK-NEXT: interfacing with JS
+;; CHECK-NEXT: --no-legalize-javascript-ffi,-nj Do not fully legalize (i64->i32, f32->f64)
+;; CHECK-NEXT: the imports and exports for interfacing
+;; CHECK-NEXT: with JS
;; CHECK-NEXT:
-;; CHECK-NEXT: --bigint,-bi Assume JS will use wasm/JS BigInt
-;; CHECK-NEXT: integration, so wasm i64s will turn into
-;; CHECK-NEXT: JS BigInts, and there is no need for any
-;; CHECK-NEXT: legalization at all (not even minimal
-;; CHECK-NEXT: legalization of dynCalls)
+;; CHECK-NEXT: --bigint,-bi Assume JS will use wasm/JS BigInt
+;; CHECK-NEXT: integration, so wasm i64s will turn into
+;; CHECK-NEXT: JS BigInts, and there is no need for any
+;; CHECK-NEXT: legalization at all (not even minimal
+;; CHECK-NEXT: legalization of dynCalls)
;; CHECK-NEXT:
-;; CHECK-NEXT: --output-source-map,-osm Emit source map to the specified file
+;; CHECK-NEXT: --output-source-map,-osm Emit source map to the specified file
;; CHECK-NEXT:
-;; CHECK-NEXT: --output-source-map-url,-osu Emit specified string as source map URL
+;; CHECK-NEXT: --output-source-map-url,-osu Emit specified string as source map URL
;; CHECK-NEXT:
-;; CHECK-NEXT: --separate-data-segments Separate data segments to a file
+;; CHECK-NEXT: --separate-data-segments Separate data segments to a file
;; CHECK-NEXT:
-;; CHECK-NEXT: --check-stack-overflow Check for stack overflows every time the
-;; CHECK-NEXT: stack is extended
+;; CHECK-NEXT: --check-stack-overflow Check for stack overflows every time the
+;; CHECK-NEXT: stack is extended
;; CHECK-NEXT:
-;; CHECK-NEXT: --standalone-wasm Emit a wasm file that does not depend on
-;; CHECK-NEXT: JS, as much as possible, using wasi and
-;; CHECK-NEXT: other standard conventions etc. where
-;; CHECK-NEXT: possible
+;; CHECK-NEXT: --standalone-wasm Emit a wasm file that does not depend on
+;; CHECK-NEXT: JS, as much as possible, using wasi and
+;; CHECK-NEXT: other standard conventions etc. where
+;; CHECK-NEXT: possible
;; CHECK-NEXT:
-;; CHECK-NEXT: --minimize-wasm-changes Modify the wasm as little as possible.
-;; CHECK-NEXT: This is useful during development as we
-;; CHECK-NEXT: reduce the number of changes to the wasm,
-;; CHECK-NEXT: as it lets emscripten control how much
-;; CHECK-NEXT: modifications to do.
+;; CHECK-NEXT: --minimize-wasm-changes Modify the wasm as little as possible.
+;; CHECK-NEXT: This is useful during development as we
+;; CHECK-NEXT: reduce the number of changes to the wasm,
+;; CHECK-NEXT: as it lets emscripten control how much
+;; CHECK-NEXT: modifications to do.
;; CHECK-NEXT:
;; CHECK-NEXT: --no-dyncalls
;; CHECK-NEXT:
@@ -66,117 +65,111 @@
;; 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:
diff --git a/test/lit/help/wasm-metadce.test b/test/lit/help/wasm-metadce.test
index 287d7ef17..5cfebd252 100644
--- a/test/lit/help/wasm-metadce.test
+++ b/test/lit/help/wasm-metadce.test
@@ -51,133 +51,127 @@
;; CHECK-NEXT: wasm-opt options:
;; CHECK-NEXT: -----------------
;; CHECK-NEXT:
-;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
+;; CHECK-NEXT: --output,-o Output file (stdout if not specified)
;; CHECK-NEXT:
-;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the
-;; CHECK-NEXT: output file
+;; CHECK-NEXT: --emit-text,-S Emit text instead of binary for the output
+;; CHECK-NEXT: file
;; CHECK-NEXT:
-;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
+;; CHECK-NEXT: --debuginfo,-g Emit names section and debug info
;; CHECK-NEXT:
-;; CHECK-NEXT: --graph-file,-f Filename of the graph description file
+;; CHECK-NEXT: --graph-file,-f Filename of the graph description file
;; CHECK-NEXT:
-;; CHECK-NEXT: --dump,-d Dump the combined graph file (useful for
-;; CHECK-NEXT: debugging)
+;; CHECK-NEXT: --dump,-d Dump the combined graph file (useful for
+;; CHECK-NEXT: debugging)
;; 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:
diff --git a/test/lit/help/wasm-opt.test b/test/lit/help/wasm-opt.test
index 9af51001d..6bc5bf770 100644
--- a/test/lit/help/wasm-opt.test
+++ b/test/lit/help/wasm-opt.test
@@ -603,11 +603,6 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-memory64 Disable memory64
;; CHECK-NEXT:
-;; CHECK-NEXT: --enable-typed-function-references Enable typed function references
-;; CHECK-NEXT:
-;; CHECK-NEXT: --disable-typed-function-references Disable typed function
-;; CHECK-NEXT: references
-;; CHECK-NEXT:
;; CHECK-NEXT: --enable-gc-nn-locals Enable GC non-null locals
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-gc-nn-locals Disable GC non-null locals
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:
diff --git a/test/lit/help/wasm-split.test b/test/lit/help/wasm-split.test
index 9a1f95099..1994c681a 100644
--- a/test/lit/help/wasm-split.test
+++ b/test/lit/help/wasm-split.test
@@ -12,224 +12,218 @@
;; CHECK-NEXT: wasm-split options:
;; CHECK-NEXT: -------------------
;; 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: --print-profile [print-profile] Print profile contents in
-;; CHECK-NEXT: a human-readable format.
-;; 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. The rest
-;; CHECK-NEXT: will be split out. Cannot be used with
-;; CHECK-NEXT: --profile or --split-funcs. You can also
-;; CHECK-NEXT: pass a file with one function per line by
-;; CHECK-NEXT: passing @filename.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --split-funcs [split] Comma-separated list of functions
-;; CHECK-NEXT: to split out to the secondary module. The
-;; CHECK-NEXT: rest will be kept. Cannot be used with
-;; CHECK-NEXT: --profile or --keep-funcs. You can also
-;; CHECK-NEXT: pass a file with one function per line by
-;; CHECK-NEXT: passing @filename.
-;; 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: --asyncify [split] Transform the module to support
-;; CHECK-NEXT: unwinding the stack from placeholder
-;; CHECK-NEXT: functions and rewinding it once the
-;; CHECK-NEXT: secondary module has been loaded.
-;; 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: --in-memory [instrument] Store profile information in
-;; CHECK-NEXT: memory (starting at address 0 and taking
-;; CHECK-NEXT: one byte per function) rather than
-;; CHECK-NEXT: globals (the default) so that it can be
-;; CHECK-NEXT: shared between multiple threads. Users
-;; CHECK-NEXT: are responsible for ensuring that the
-;; CHECK-NEXT: module does not use the initial memory
-;; CHECK-NEXT: region for anything else.
-;; 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: --unescape,-u Un-escape function names (in
-;; CHECK-NEXT: print-profile output)
-;; 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.
+;; 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: --print-profile [print-profile] Print profile contents in
+;; CHECK-NEXT: a human-readable format.
+;; 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. The rest
+;; CHECK-NEXT: will be split out. Cannot be used with
+;; CHECK-NEXT: --profile or --split-funcs. You can also
+;; CHECK-NEXT: pass a file with one function per line by
+;; CHECK-NEXT: passing @filename.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --split-funcs [split] Comma-separated list of functions
+;; CHECK-NEXT: to split out to the secondary module. The
+;; CHECK-NEXT: rest will be kept. Cannot be used with
+;; CHECK-NEXT: --profile or --keep-funcs. You can also
+;; CHECK-NEXT: pass a file with one function per line by
+;; CHECK-NEXT: passing @filename.
+;; 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 import
+;; CHECK-NEXT: objects from the primary module into the
+;; CHECK-NEXT: secondary module.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --placeholder-namespace [split] The namespace from which to import
+;; CHECK-NEXT: placeholder functions into the primary
+;; CHECK-NEXT: module.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --asyncify [split] Transform the module to support
+;; CHECK-NEXT: unwinding the stack from placeholder
+;; CHECK-NEXT: functions and rewinding it once the
+;; CHECK-NEXT: secondary module has been loaded.
+;; 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: --in-memory [instrument] Store profile information in
+;; CHECK-NEXT: memory (starting at address 0 and taking
+;; CHECK-NEXT: one byte per function) rather than globals
+;; CHECK-NEXT: (the default) so that it can be shared
+;; CHECK-NEXT: between multiple threads. Users are
+;; CHECK-NEXT: responsible for ensuring that the module
+;; CHECK-NEXT: does not use the initial memory region for
+;; CHECK-NEXT: anything else.
+;; CHECK-NEXT:
+;; CHECK-NEXT: --emit-module-names [split, instrument] Emit module names,
+;; CHECK-NEXT: even if not emitting the rest of the names
+;; CHECK-NEXT: 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: --unescape,-u Un-escape function names (in print-profile
+;; CHECK-NEXT: output)
+;; 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.
;; 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:
diff --git a/test/lit/help/wasm2js.test b/test/lit/help/wasm2js.test
index ef32a87a1..3d483206a 100644
--- a/test/lit/help/wasm2js.test
+++ b/test/lit/help/wasm2js.test
@@ -562,11 +562,6 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-memory64 Disable memory64
;; CHECK-NEXT:
-;; CHECK-NEXT: --enable-typed-function-references Enable typed function references
-;; CHECK-NEXT:
-;; CHECK-NEXT: --disable-typed-function-references Disable typed function
-;; CHECK-NEXT: references
-;; CHECK-NEXT:
;; CHECK-NEXT: --enable-gc-nn-locals Enable GC non-null locals
;; CHECK-NEXT:
;; CHECK-NEXT: --disable-gc-nn-locals Disable GC non-null locals
diff --git a/test/lit/passes/instrument-locals_all-features_disable-typed-function-references.wast b/test/lit/passes/instrument-locals_all-features_disable-gc.wast
index 70ccf3364..f9cd16486 100644
--- a/test/lit/passes/instrument-locals_all-features_disable-typed-function-references.wast
+++ b/test/lit/passes/instrument-locals_all-features_disable-gc.wast
@@ -1,7 +1,7 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; NOTE: This test was ported using port_passes_tests_to_lit.py and could be cleaned up.
-;; RUN: foreach %s %t wasm-opt --instrument-locals --all-features --disable-typed-function-references -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --instrument-locals --all-features --disable-gc -S -o - | filecheck %s
(module
;; CHECK: (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
diff --git a/test/lit/passes/merge-similar-functions.wast b/test/lit/passes/merge-similar-functions.wast
index bb7d82dfc..ec3239e7b 100644
--- a/test/lit/passes/merge-similar-functions.wast
+++ b/test/lit/passes/merge-similar-functions.wast
@@ -1,5 +1,5 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: foreach %s %t wasm-opt --enable-reference-types --enable-typed-function-references --merge-similar-functions -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --enable-reference-types --enable-gc --merge-similar-functions -S -o - | filecheck %s
(module
;; CHECK: (type $none_=>_i32 (func (result i32)))
diff --git a/test/lit/passes/optimize-instructions-typed-function-references.wast b/test/lit/passes/optimize-instructions-typed-function-references.wast
deleted file mode 100644
index 418195b48..000000000
--- a/test/lit/passes/optimize-instructions-typed-function-references.wast
+++ /dev/null
@@ -1,17 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s --optimize-instructions --enable-reference-types \
-;; RUN: --enable-typed-function-references -S -o - | filecheck %s
-
-(module
- ;; CHECK: (type $i32-i32 (func (param i32) (result i32)))
- (type $i32-i32 (func (param i32) (result i32)))
- ;; this function has a reference parameter. we analyze parameters, and should
- ;; not be confused by a type that has no bit size, in particular. this test
- ;; just verifies that we do not crash on that.
- ;; CHECK: (func $call_from-param (param $f (ref null $i32-i32)) (result i32)
- ;; CHECK-NEXT: (unreachable)
- ;; CHECK-NEXT: )
- (func $call_from-param (param $f (ref null $i32-i32)) (result i32)
- (unreachable)
- )
-)
diff --git a/test/passes/strip-target-features_roundtrip_print-features_all-features.txt b/test/passes/strip-target-features_roundtrip_print-features_all-features.txt
index 7a597a410..b460f8801 100644
--- a/test/passes/strip-target-features_roundtrip_print-features_all-features.txt
+++ b/test/passes/strip-target-features_roundtrip_print-features_all-features.txt
@@ -10,7 +10,6 @@
--enable-multivalue
--enable-gc
--enable-memory64
---enable-typed-function-references
--enable-relaxed-simd
--enable-extended-const
--enable-strings
diff --git a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
index 1425e7b54..927c07bca 100644
--- a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
+++ b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
@@ -1,42 +1,45 @@
total
- [exports] : 12
- [funcs] : 20
+ [exports] : 14
+ [funcs] : 19
[globals] : 6
[imports] : 5
[memories] : 1
[memory-data] : 22
- [table-data] : 7
+ [table-data] : 12
[tables] : 1
[tags] : 2
- [total] : 707
- [vars] : 37
- ArrayInit : 8
- Binary : 78
- Block : 78
- Break : 7
- Call : 22
- CallRef : 3
- Const : 176
- Drop : 13
- GlobalGet : 51
- GlobalSet : 26
- I31New : 10
- If : 28
- Load : 20
- LocalGet : 38
- LocalSet : 24
- Loop : 6
- MemoryCopy : 1
- MemoryFill : 1
- Nop : 10
+ [total] : 771
+ [vars] : 27
+ ArrayInit : 1
+ AtomicCmpxchg : 1
+ AtomicFence : 1
+ AtomicRMW : 1
+ Binary : 82
+ Block : 105
+ Break : 19
+ Call : 23
+ CallIndirect : 3
+ CallRef : 2
+ Const : 145
+ DataDrop : 1
+ Drop : 7
+ GlobalGet : 65
+ GlobalSet : 31
+ I31New : 3
+ If : 35
+ Load : 21
+ LocalGet : 48
+ LocalSet : 26
+ Loop : 12
+ Nop : 16
RefEq : 1
- RefFunc : 12
+ RefFunc : 17
RefNull : 4
- Return : 28
- SIMDExtract : 3
- Store : 2
- StructNew : 2
- TupleExtract : 1
- TupleMake : 14
- Unary : 38
- Unreachable : 2
+ Return : 35
+ SIMDExtract : 1
+ Select : 1
+ Store : 6
+ StructNew : 1
+ TupleExtract : 2
+ TupleMake : 8
+ Unary : 47
diff --git a/test/unit/test_features.py b/test/unit/test_features.py
index a7a1ab444..57a6bc555 100644
--- a/test/unit/test_features.py
+++ b/test/unit/test_features.py
@@ -395,7 +395,6 @@ class TargetFeaturesSectionTest(utils.BinaryenTestCase):
'--enable-multivalue',
'--enable-gc',
'--enable-memory64',
- '--enable-typed-function-references',
'--enable-relaxed-simd',
'--enable-extended-const',
'--enable-strings',