diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-12-25 14:25:49 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-12-25 14:25:49 +0000 |
commit | 2fe5752e3a7c345cdb59e869278d36af33c13fa4 (patch) | |
tree | df68ca4b788599e14cbadaf19b704672393efccd /lib/Transforms/Utils/Local.cpp | |
parent | 69156b4c20249e7800cc09e0eef0beb3d15ac1ad (diff) |
Notes
Diffstat (limited to 'lib/Transforms/Utils/Local.cpp')
-rw-r--r-- | lib/Transforms/Utils/Local.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp index 50ca6234d0b7..ba8af47b54e1 100644 --- a/lib/Transforms/Utils/Local.cpp +++ b/lib/Transforms/Utils/Local.cpp @@ -869,6 +869,11 @@ bool llvm::EliminateDuplicatePHINodes(BasicBlock *BB) { PN->replaceAllUsesWith(*Inserted.first); PN->eraseFromParent(); Changed = true; + + // The RAUW can change PHIs that we already visited. Start over from the + // beginning. + PHISet.clear(); + I = BB->begin(); } } |