diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-18 13:15:50 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-18 13:15:50 -0700 |
commit | 0438aa2383724cf0b29554ecb396c9ef26dab92d (patch) | |
tree | a62583d561c21b26af7a3fe242cfa03019435adc /src/passes/SimplifyLocals.cpp | |
parent | ae7bc10828f64f06647cd45449d3c67acb1effb3 (diff) | |
download | binaryen-0438aa2383724cf0b29554ecb396c9ef26dab92d.tar.gz binaryen-0438aa2383724cf0b29554ecb396c9ef26dab92d.tar.bz2 binaryen-0438aa2383724cf0b29554ecb396c9ef26dab92d.zip |
use a vector for get_local counts in SimplifyLocals (#356)
Diffstat (limited to 'src/passes/SimplifyLocals.cpp')
-rw-r--r-- | src/passes/SimplifyLocals.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/passes/SimplifyLocals.cpp b/src/passes/SimplifyLocals.cpp index ddb3bccae..bb5fdd3a5 100644 --- a/src/passes/SimplifyLocals.cpp +++ b/src/passes/SimplifyLocals.cpp @@ -50,7 +50,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>> bool sunk; // local => # of get_locals for it - std::map<Index, int> numGetLocals; + std::vector<int> numGetLocals; // for each set_local, its origin pointer std::map<SetLocal*, Expression**> setLocalOrigins; @@ -166,6 +166,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals>> // c(x, y) // the load cannot cross the store, but y can be sunk, after which so can x do { + numGetLocals.resize(getFunction()->getNumLocals()); sunk = false; // main operation WalkerPass<LinearExecutionWalker<SimplifyLocals>>::walk(root); |