diff options
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', |