diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-02 23:25:39 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-02 23:25:39 +0000 |
commit | 5cc66d979dfe43fcdb456e92a7df56427fa647cb (patch) | |
tree | 6f75324667cda39995279e3c84a808fa79faa94b /lib/Transforms | |
parent | 454ac8961b243afa7c46fce9c28fb4c01650bb3e (diff) |
fix a nasty iterator invalidation bug from my conversion from
std::map to DenseMap, exposed on release llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/SCCP.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index c11380abf5..31ad26774a 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -1079,8 +1079,7 @@ void SCCPSolver::visitShuffleVectorInst(ShuffleVectorInst &I) { // can turn this into a getelementptr ConstantExpr. // void SCCPSolver::visitGetElementPtrInst(GetElementPtrInst &I) { - LatticeVal &IV = ValueState[&I]; - if (IV.isOverdefined()) return; + if (ValueState[&I].isOverdefined()) return; SmallVector<Constant*, 8> Operands; Operands.reserve(I.getNumOperands()); @@ -1091,7 +1090,7 @@ void SCCPSolver::visitGetElementPtrInst(GetElementPtrInst &I) { return; // Operands are not resolved yet. if (State.isOverdefined()) - return markOverdefined(IV, &I); + return markOverdefined(&I); assert(State.isConstant() && "Unknown state!"); Operands.push_back(State.getConstant()); |