summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/passes/CMakeLists.txt2
-rw-r--r--src/passes/HeapRefining.cpp (renamed from src/passes/GlobalSubtyping.cpp)10
-rw-r--r--src/passes/pass.cpp6
-rw-r--r--src/passes/passes.h2
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();