Ignore unallocatable registers in RegAllocFast.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 31 Aug 2010 19:54:25 +0000 (19:54 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 31 Aug 2010 19:54:25 +0000 (19:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112632 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocFast.cpp

index 8f6496dcac794eae079cefebd4698d182c1930db..237686859fa951a8f327a5d66a0e5f7cf8b144d5 100644 (file)
@@ -736,7 +736,8 @@ void RAFast::AllocateBasicBlock() {
   // Add live-in registers as live.
   for (MachineBasicBlock::livein_iterator I = MBB->livein_begin(),
          E = MBB->livein_end(); I != E; ++I)
-    definePhysReg(MII, *I, regReserved);
+    if (Allocatable.test(*I))
+      definePhysReg(MII, *I, regReserved);
 
   SmallVector<unsigned, 8> VirtDead;
   SmallVector<MachineInstr*, 32> Coalesced;