diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/FuncCastEmulation.cpp | 3 | ||||
-rw-r--r-- | src/passes/pass.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/passes/FuncCastEmulation.cpp b/src/passes/FuncCastEmulation.cpp index 59a2588da..013e9403e 100644 --- a/src/passes/FuncCastEmulation.cpp +++ b/src/passes/FuncCastEmulation.cpp @@ -142,9 +142,10 @@ struct ParallelFuncCastEmulation : public WalkerPass<PostWalker<ParallelFuncCast curr->operands.push_back(LiteralUtils::makeZero(i64, *getModule())); } // Set the new types + curr->fullType = ABIType; auto oldType = curr->type; curr->type = i64; - curr->fullType = ABIType; + curr->finalize(); // may be unreachable // Fix up return value replaceCurrent(fromABI(curr, oldType, getModule())); } diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 6518a6f3d..be7365998 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -98,7 +98,6 @@ void PassRegistry::registerPasses() { registerPass("print-minified", "print in minified s-expression format", createMinifiedPrinterPass); registerPass("print-full", "print in full s-expression format", createFullPrinterPass); registerPass("print-call-graph", "print call graph", createPrintCallGraphPass); - registerPass("rse", "remove redundant set_locals", createRedundantSetEliminationPass); registerPass("relooper-jump-threading", "thread relooper jumps (fastcomp output only)", createRelooperJumpThreadingPass); registerPass("remove-imports", "removes imports and replaces them with nops", createRemoveImportsPass); registerPass("remove-memory", "removes memory segments", createRemoveMemoryPass); @@ -108,6 +107,7 @@ void PassRegistry::registerPasses() { registerPass("reorder-functions", "sorts functions by access frequency", createReorderFunctionsPass); registerPass("reorder-locals", "sorts locals by access frequency", createReorderLocalsPass); registerPass("rereloop", "re-optimize control flow using the relooper algorithm", createReReloopPass); + registerPass("rse", "remove redundant set_locals", createRedundantSetEliminationPass); registerPass("simplify-locals", "miscellaneous locals-related optimizations", createSimplifyLocalsPass); registerPass("safe-heap", "instrument loads and stores to check for invalid behavior", createSafeHeapPass); registerPass("simplify-locals-notee", "miscellaneous locals-related optimizations", createSimplifyLocalsNoTeePass); |