In order to avoid reprocessing a register more than once, we need to add it
authorOwen Anderson <resistor@mac.com>
Fri, 25 Jul 2008 21:35:43 +0000 (21:35 +0000)
committerOwen Anderson <resistor@mac.com>
Fri, 25 Jul 2008 21:35:43 +0000 (21:35 +0000)
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

lib/CodeGen/StrongPHIElimination.cpp

index 9a9fba550b85f2534bf9dce7ca64d19f168c36d1..7f98463e48c69779a3b6aa093eea32e145b989f8 100644 (file)
@@ -741,7 +741,7 @@ void StrongPHIElimination::ScheduleCopies(MachineBasicBlock* MBB,
   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);
 }