aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/IndVarSimplify.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Scalar/IndVarSimplify.cpp')
-rw-r--r--lib/Transforms/Scalar/IndVarSimplify.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp
index 477f42c50e..31dbd42f2c 100644
--- a/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -81,7 +81,7 @@ static cl::opt<bool> DisableIVRewrite(
namespace {
class IndVarSimplify : public LoopPass {
- typedef DenseMap<const SCEV *, PHINode *> ExprToIVMapTy;
+ typedef DenseMap< const SCEV *, AssertingVH<PHINode> > ExprToIVMapTy;
IVUsers *IU;
LoopInfo *LI;
@@ -1375,6 +1375,7 @@ bool IndVarSimplify::runOnLoop(Loop *L, LPPassManager &LPM) {
// can be deleted in the loop below, causing the AssertingVH in the cache to
// trigger.
Rewriter.clear();
+ ExprToIVMap.clear();
// Now that we're done iterating through lists, clean up any instructions
// which are now dead.