diff options
author | Alon Zakai <azakai@google.com> | 2021-11-15 16:17:15 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-16 00:17:15 +0000 |
commit | 52696625d003f80a8ae77150b6f1e626e9d98e57 (patch) | |
tree | 10ee67f40811f1c333ef7c954856de8214605dbd | |
parent | 3549e3040340c706349b1ee9ab3e994279805afc (diff) | |
download | binaryen-52696625d003f80a8ae77150b6f1e626e9d98e57.tar.gz binaryen-52696625d003f80a8ae77150b6f1e626e9d98e57.tar.bz2 binaryen-52696625d003f80a8ae77150b6f1e626e9d98e57.zip |
[NFC] Rename GlobalSubtyping => HeapRefining (#4331)
-rw-r--r-- | src/passes/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/passes/HeapRefining.cpp (renamed from src/passes/GlobalSubtyping.cpp) | 10 | ||||
-rw-r--r-- | src/passes/pass.cpp | 6 | ||||
-rw-r--r-- | src/passes/passes.h | 2 | ||||
-rw-r--r-- | test/lit/help/optimization-opts.test | 6 | ||||
-rw-r--r-- | test/lit/passes/heap-subtyping.wast (renamed from test/lit/passes/global-subtyping.wast) | 2 |
6 files changed, 14 insertions, 14 deletions
diff --git a/src/passes/CMakeLists.txt b/src/passes/CMakeLists.txt index 56f12dc17..b3a7db4c9 100644 --- a/src/passes/CMakeLists.txt +++ b/src/passes/CMakeLists.txt @@ -30,9 +30,9 @@ set(passes_SOURCES Flatten.cpp FuncCastEmulation.cpp GenerateDynCalls.cpp - GlobalSubtyping.cpp GlobalTypeOptimization.cpp Heap2Local.cpp + HeapRefining.cpp I64ToI32Lowering.cpp Inlining.cpp InstrumentLocals.cpp diff --git a/src/passes/GlobalSubtyping.cpp b/src/passes/HeapRefining.cpp index 7cf963f0d..54d6f5103 100644 --- a/src/passes/GlobalSubtyping.cpp +++ b/src/passes/HeapRefining.cpp @@ -107,12 +107,12 @@ struct FieldInfoScanner } }; -struct GlobalSubtyping : public Pass { +struct HeapRefining : public Pass { StructUtils::StructValuesMap<FieldInfo> finalInfos; void run(PassRunner* runner, Module* module) override { if (getTypeSystem() != TypeSystem::Nominal) { - Fatal() << "GlobalSubtyping requires nominal typing"; + Fatal() << "HeapRefining requires nominal typing"; } // Find and analyze struct operations inside each function. @@ -238,10 +238,10 @@ struct GlobalSubtyping : public Pass { void updateTypes(Module& wasm, PassRunner* runner) { class TypeRewriter : public GlobalTypeRewriter { - GlobalSubtyping& parent; + HeapRefining& parent; public: - TypeRewriter(Module& wasm, GlobalSubtyping& parent) + TypeRewriter(Module& wasm, HeapRefining& parent) : GlobalTypeRewriter(wasm), parent(parent) {} void modifyStruct(HeapType oldStructType, Struct& struct_) override { @@ -267,6 +267,6 @@ struct GlobalSubtyping : public Pass { } // anonymous namespace -Pass* createGlobalSubtypingPass() { return new GlobalSubtyping(); } +Pass* createHeapRefiningPass() { return new HeapRefining(); } } // namespace wasm diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 2c7199781..118b2e6ae 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -156,9 +156,9 @@ void PassRegistry::registerPasses() { "generate-stack-ir", "generate Stack IR", createGenerateStackIRPass); registerPass( "gto", "globally optimize GC types", createGlobalTypeOptimizationPass); - registerPass("global-subtyping", + registerPass("heap-refining", "apply more specific subtypes to type fields where possible", - createGlobalSubtypingPass); + createHeapRefiningPass); registerPass( "heap2local", "replace GC allocations with locals", createHeap2LocalPass); registerPass( @@ -527,7 +527,7 @@ void PassRunner::addDefaultGlobalOptimizationPrePasses() { } if (wasm->features.hasGC() && getTypeSystem() == TypeSystem::Nominal && options.optimizeLevel >= 2) { - addIfNoDWARFIssues("global-subtyping"); + addIfNoDWARFIssues("heap-refining"); // Global type optimization can remove fields that are not needed, which can // remove ref.funcs that were once assigned to vtables but are no longer // needed, which can allow more code to be removed globally. After those, diff --git a/src/passes/passes.h b/src/passes/passes.h index b9ba566d0..365a68ad7 100644 --- a/src/passes/passes.h +++ b/src/passes/passes.h @@ -51,9 +51,9 @@ Pass* createFunctionMetricsPass(); Pass* createGenerateDynCallsPass(); Pass* createGenerateI64DynCallsPass(); Pass* createGenerateStackIRPass(); -Pass* createGlobalSubtypingPass(); Pass* createGlobalTypeOptimizationPass(); Pass* createHeap2LocalPass(); +Pass* createHeapRefiningPass(); Pass* createI64ToI32LoweringPass(); Pass* createInlineMainPass(); Pass* createInliningPass(); diff --git a/test/lit/help/optimization-opts.test b/test/lit/help/optimization-opts.test index 380101a53..1f52b2462 100644 --- a/test/lit/help/optimization-opts.test +++ b/test/lit/help/optimization-opts.test @@ -275,11 +275,11 @@ ;; CHECK-NEXT: ;; CHECK-NEXT: --generate-stack-ir generate Stack IR ;; CHECK-NEXT: -;; CHECK-NEXT: --global-subtyping apply more specific subtypes to -;; CHECK-NEXT: type fields where possible -;; CHECK-NEXT: ;; CHECK-NEXT: --gto globally optimize GC types ;; CHECK-NEXT: +;; CHECK-NEXT: --heap-refining apply more specific subtypes to +;; CHECK-NEXT: type fields where possible +;; CHECK-NEXT: ;; CHECK-NEXT: --heap2local replace GC allocations with ;; CHECK-NEXT: locals ;; CHECK-NEXT: diff --git a/test/lit/passes/global-subtyping.wast b/test/lit/passes/heap-subtyping.wast index 5c05ac753..1a42d36a8 100644 --- a/test/lit/passes/global-subtyping.wast +++ b/test/lit/passes/heap-subtyping.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 --nominal --global-subtyping -all -S -o - | filecheck %s +;; RUN: foreach %s %t wasm-opt --nominal --heap-refining -all -S -o - | filecheck %s (module ;; A struct with three fields. The first will have no writes, the second one |