summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/X86/X86CondBrFolding.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86CondBrFolding.cpp b/llvm/lib/Target/X86/X86CondBrFolding.cpp
index 9a5ae704171..8b9ef20d916 100644
--- a/llvm/lib/Target/X86/X86CondBrFolding.cpp
+++ b/llvm/lib/Target/X86/X86CondBrFolding.cpp
@@ -424,8 +424,9 @@ bool X86CondBrFolding::optimize() {
}
NumFixedCondBrs += RemoveList.size();
for (auto MBBI : RemoveList) {
- for (auto *Succ : MBBI->successors())
- MBBI->removeSuccessor(Succ);
+ while (!MBBI->succ_empty())
+ MBBI->removeSuccessor(MBBI->succ_end() - 1);
+
MBBI->eraseFromParent();
}
OpenPOWER on IntegriCloud