summaryrefslogtreecommitdiff
path: root/src/passes/passes.h
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2021-11-18 16:16:19 -0800
committerGitHub <noreply@github.com>2021-11-18 16:16:19 -0800
commitbe672c057bcb39b27f34f4031eea747bd72161d2 (patch)
treed3696677f15f23818be29b1bb0856a47fbe8b5f3 /src/passes/passes.h
parentcba41cc227346c8a8357aa06bb1d916663c29dfe (diff)
downloadbinaryen-be672c057bcb39b27f34f4031eea747bd72161d2.tar.gz
binaryen-be672c057bcb39b27f34f4031eea747bd72161d2.tar.bz2
binaryen-be672c057bcb39b27f34f4031eea747bd72161d2.zip
[Wasm GC] Global Refining pass (#4344)
Fairly simple, this uses the existing infrastructure to find opportunities to refine the type of a global variable. This a common pattern in j2wasm for example, where a global begins as a null of $java.lang.Object (the least specific type) but it is in practice always assigned an object of some specific type.
Diffstat (limited to 'src/passes/passes.h')
-rw-r--r--src/passes/passes.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/passes/passes.h b/src/passes/passes.h
index e8e8ecc78..5a67b1d82 100644
--- a/src/passes/passes.h
+++ b/src/passes/passes.h
@@ -51,6 +51,7 @@ Pass* createFunctionMetricsPass();
Pass* createGenerateDynCallsPass();
Pass* createGenerateI64DynCallsPass();
Pass* createGenerateStackIRPass();
+Pass* createGlobalRefiningPass();
Pass* createGlobalTypeOptimizationPass();
Pass* createHeap2LocalPass();
Pass* createI64ToI32LoweringPass();