summaryrefslogtreecommitdiff
path: root/src/passes/RedundantSetElimination.cpp
diff options
context:
space:
mode:
authorMax Graey <maxgraey@gmail.com>2020-08-25 00:06:06 +0300
committerGitHub <noreply@github.com>2020-08-24 14:06:06 -0700
commit21a08f751bd641f9658455cbf44ecadbf895f5b2 (patch)
treee23086a4b1ef857247c15f35b160f941a2c32d9c /src/passes/RedundantSetElimination.cpp
parent429b2611f3a159efe3b27f99be34d7aebe9bf45f (diff)
downloadbinaryen-21a08f751bd641f9658455cbf44ecadbf895f5b2.tar.gz
binaryen-21a08f751bd641f9658455cbf44ecadbf895f5b2.tar.bz2
binaryen-21a08f751bd641f9658455cbf44ecadbf895f5b2.zip
Avoid wasted work when there are no locals (#3060)
Adds early returns to local optimizations passes in cases where there are no locals to optimize.
Diffstat (limited to 'src/passes/RedundantSetElimination.cpp')
-rw-r--r--src/passes/RedundantSetElimination.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/passes/RedundantSetElimination.cpp b/src/passes/RedundantSetElimination.cpp
index a891653df..e36cefc9e 100644
--- a/src/passes/RedundantSetElimination.cpp
+++ b/src/passes/RedundantSetElimination.cpp
@@ -81,6 +81,9 @@ struct RedundantSetElimination
void doWalkFunction(Function* func) {
numLocals = func->getNumLocals();
+ if (numLocals == 0) {
+ return; // nothing to do
+ }
// create the CFG by walking the IR
CFGWalker<RedundantSetElimination, Visitor<RedundantSetElimination>, Info>::
doWalkFunction(func);