summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-10-13 18:49:23 +0000
committerAndrew Trick <atrick@apple.com>2011-10-13 18:49:23 +0000
commit7e442569dc718387e4db9a19bb13c27611b552a7 (patch)
tree351677e06fa1558abd5a44e2e9caa51063d5bd5b /llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
parent2a14f17a65088cf6773606f6d431f6d2d984c66c (diff)
downloadbcm5719-llvm-7e442569dc718387e4db9a19bb13c27611b552a7.tar.gz
bcm5719-llvm-7e442569dc718387e4db9a19bb13c27611b552a7.zip
Fix memory corruption I introduced a few checkins ago.
Self-review easily caught this obvious bug. llvm-svn: 141880
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolutionNormalization.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionNormalization.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp b/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
index 0670e463922..c66ecd6e872 100644
--- a/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
+++ b/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
@@ -202,12 +202,13 @@ TransformSubExpr(const SCEV *S, Instruction *User, Value *OperandValToReplace) {
if (isa<SCEVConstant>(S) || isa<SCEVUnknown>(S))
return S;
- const SCEV *&ExprRef = Transformed[S];
- if (ExprRef)
- return ExprRef;
+ const SCEV *Result = Transformed.lookup(S);
+ if (Result)
+ return Result;
- ExprRef = TransformImpl(S, User, OperandValToReplace);
- return ExprRef;
+ Result = TransformImpl(S, User, OperandValToReplace);
+ Transformed[S] = Result;
+ return Result;
}
/// Top level driver for transforming an expression DAG into its requested
OpenPOWER on IntegriCloud