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 | b70ef3c8c7278d6872af7f560a5024c9c3f89fa1 (patch) | |
| tree | 87ac31b8c632d0f68290bbfc4096a25fb724e05b /llvm/lib | |
| parent | 33ccd9e3543280a3fe2c259afcb39e195d738538 (diff) | |
| download | bcm5719-llvm-b70ef3c8c7278d6872af7f560a5024c9c3f89fa1.tar.gz bcm5719-llvm-b70ef3c8c7278d6872af7f560a5024c9c3f89fa1.zip | |
fix a nasty iterator invalidation bug from my conversion from
std::map to DenseMap, exposed on release llvm-gcc bootstrap.
llvm-svn: 85840
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SCCP.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp index c11380abf5e..31ad26774ac 100644 --- a/llvm/lib/Transforms/Scalar/SCCP.cpp +++ b/llvm/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()); |

