diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2008-05-27 00:59:05 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2008-05-27 00:59:05 +0000 |
commit | 6918a9141e93aea51d542fc3e6da332140144f13 (patch) | |
tree | 71c292dc4ec504ce969eb7d5a5e40cf42b51d641 /lib/Transforms/Scalar/PredicateSimplifier.cpp | |
parent | 70ef629d46cd78f6e2e8051797b0436fc4a895b0 (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/PredicateSimplifier.cpp')
-rw-r--r-- | lib/Transforms/Scalar/PredicateSimplifier.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/PredicateSimplifier.cpp b/lib/Transforms/Scalar/PredicateSimplifier.cpp index 9befdc7bc9..2672e4e762 100644 --- a/lib/Transforms/Scalar/PredicateSimplifier.cpp +++ b/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(); |