diff options
author | Alon Zakai <azakai@google.com> | 2021-11-18 16:16:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-18 16:16:19 -0800 |
commit | be672c057bcb39b27f34f4031eea747bd72161d2 (patch) | |
tree | d3696677f15f23818be29b1bb0856a47fbe8b5f3 /src/passes/passes.h | |
parent | cba41cc227346c8a8357aa06bb1d916663c29dfe (diff) | |
download | binaryen-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.h | 1 |
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(); |