diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/passes/TypeRefining.cpp (renamed from src/passes/HeapRefining.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 b3a7db4c9..25c9cb6b3 100644 --- a/src/passes/CMakeLists.txt +++ b/src/passes/CMakeLists.txt @@ -32,7 +32,6 @@ set(passes_SOURCES GenerateDynCalls.cpp GlobalTypeOptimization.cpp Heap2Local.cpp - HeapRefining.cpp I64ToI32Lowering.cpp Inlining.cpp InstrumentLocals.cpp @@ -81,6 +80,7 @@ set(passes_SOURCES ReorderFunctions.cpp ReReloop.cpp TrapMode.cpp + TypeRefining.cpp SafeHeap.cpp SimplifyGlobals.cpp SimplifyLocals.cpp diff --git a/src/passes/HeapRefining.cpp b/src/passes/TypeRefining.cpp index 54d6f5103..33e382bc5 100644 --- a/src/passes/HeapRefining.cpp +++ b/src/passes/TypeRefining.cpp @@ -107,12 +107,12 @@ struct FieldInfoScanner } }; -struct HeapRefining : public Pass { +struct TypeRefining : public Pass { StructUtils::StructValuesMap<FieldInfo> finalInfos; void run(PassRunner* runner, Module* module) override { if (getTypeSystem() != TypeSystem::Nominal) { - Fatal() << "HeapRefining requires nominal typing"; + Fatal() << "TypeRefining requires nominal typing"; } // Find and analyze struct operations inside each function. @@ -238,10 +238,10 @@ struct HeapRefining : public Pass { void updateTypes(Module& wasm, PassRunner* runner) { class TypeRewriter : public GlobalTypeRewriter { - HeapRefining& parent; + TypeRefining& parent; public: - TypeRewriter(Module& wasm, HeapRefining& parent) + TypeRewriter(Module& wasm, TypeRefining& parent) : GlobalTypeRewriter(wasm), parent(parent) {} void modifyStruct(HeapType oldStructType, Struct& struct_) override { @@ -267,6 +267,6 @@ struct HeapRefining : public Pass { } // anonymous namespace -Pass* createHeapRefiningPass() { return new HeapRefining(); } +Pass* createTypeRefiningPass() { return new TypeRefining(); } } // namespace wasm diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 118b2e6ae..49615d81b 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("heap-refining", + registerPass("type-refining", "apply more specific subtypes to type fields where possible", - createHeapRefiningPass); + createTypeRefiningPass); 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("heap-refining"); + addIfNoDWARFIssues("type-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 365a68ad7..e8e8ecc78 100644 --- a/src/passes/passes.h +++ b/src/passes/passes.h @@ -53,7 +53,6 @@ Pass* createGenerateI64DynCallsPass(); Pass* createGenerateStackIRPass(); Pass* createGlobalTypeOptimizationPass(); Pass* createHeap2LocalPass(); -Pass* createHeapRefiningPass(); Pass* createI64ToI32LoweringPass(); Pass* createInlineMainPass(); Pass* createInliningPass(); @@ -131,6 +130,7 @@ Pass* createSSAifyPass(); Pass* createSSAifyNoMergePass(); Pass* createTrapModeClamp(); Pass* createTrapModeJS(); +Pass* createTypeRefiningPass(); Pass* createUnteePass(); Pass* createVacuumPass(); |