summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/SimplifyLocals.cpp3
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);