summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2008-05-27 00:59:05 +0000
committerNick Lewycky <nicholas@mxc.ca>2008-05-27 00:59:05 +0000
commit3ebe82b57a57b643a73bcad07a3ff415e12a2900 (patch)
treef5a3283cbca7caf758ce866b1f32eaed5fa679e6 /llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp
parent6be65d2a84cc67cb82384dace804187c33f06202 (diff)
downloadbcm5719-llvm-3ebe82b57a57b643a73bcad07a3ff415e12a2900.tar.gz
bcm5719-llvm-3ebe82b57a57b643a73bcad07a3ff415e12a2900.zip
InequalityGraph::node() can create new nodes, invalidating iterators across
the set of nodes. Fix makeEqual to handle this by creating the new node first then iterating across them second. llvm-svn: 51573
Diffstat (limited to 'llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp b/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp
index 9befdc7bc90..2672e4e762a 100644
--- a/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp
+++ b/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp
@@ -1594,6 +1594,7 @@ namespace {
if (mergeIGNode) {
// Create N1.
if (!n1) n1 = VN.getOrInsertVN(V1, Top);
+ IG.node(n1); // Ensure that IG.Nodes won't get resized
// Migrate relationships from removed nodes to N1.
for (SetVector<unsigned>::iterator I = Remove.begin(), E = Remove.end();
OpenPOWER on IntegriCloud