OSDN Git Service

Fix a bug with the LiveIntervals updating in the two-address pass found by
authorCameron Zwarich <zwarich@apple.com>
Sat, 23 Feb 2013 04:49:22 +0000 (04:49 +0000)
committerCameron Zwarich <zwarich@apple.com>
Sat, 23 Feb 2013 04:49:22 +0000 (04:49 +0000)
running ASCI_Purple/SMG2000 in the test-suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175957 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/TwoAddressInstructionPass.cpp

index cbe07db..aca85b2 100644 (file)
@@ -370,7 +370,7 @@ static bool isPlainlyKilled(MachineInstr *MI, unsigned Reg,
     SlotIndex useIdx = LIS->getInstructionIndex(MI);
     LiveInterval::const_iterator I = LI.find(useIdx);
     assert(I != LI.end() && "Reg must be live-in to use.");
-    return SlotIndex::isSameInstr(I->end, useIdx);
+    return !I->end.isBlock() && SlotIndex::isSameInstr(I->end, useIdx);
   }
 
   return MI->killsRegister(Reg);