diff options
Diffstat (limited to 'src')
-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 |
4 files changed, 10 insertions, 10 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(); |