summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-02 23:25:39 +0000
committerChris Lattner <sabre@nondot.org>2009-11-02 23:25:39 +0000
commitb70ef3c8c7278d6872af7f560a5024c9c3f89fa1 (patch)
tree87ac31b8c632d0f68290bbfc4096a25fb724e05b /llvm/lib/Transforms
parent33ccd9e3543280a3fe2c259afcb39e195d738538 (diff)
downloadbcm5719-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/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/SCCP.cpp5
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());
OpenPOWER on IntegriCloud