In order to avoid reprocessing a register more than once, we need to add it
to the handled set so it will get filtered out in future iterations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54065 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp
index 9a9fba5..7f98463 100644
--- a/lib/CodeGen/StrongPHIElimination.cpp
+++ b/lib/CodeGen/StrongPHIElimination.cpp
@@ -741,7 +741,7 @@
std::set<unsigned> RegHandled;
for (SmallVector<std::pair<unsigned, MachineInstr*>, 4>::iterator I =
InsertedPHIDests.begin(), E = InsertedPHIDests.end(); I != E; ++I)
- if (!RegHandled.count(I->first))
+ if (!RegHandled.insert(I->first).second)
LI.addLiveRangeToEndOfBlock(I->first, I->second);
}