OSDN Git Service

Mark livein registers as being in used.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 23 Feb 2007 08:41:19 +0000 (08:41 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 23 Feb 2007 08:41:19 +0000 (08:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34525 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegisterScavenging.cpp

index 5aa2ca3..0938e3a 100644 (file)
@@ -43,6 +43,12 @@ RegScavenger::RegScavenger(MachineBasicBlock *mbb)
   if (CSRegs != NULL)
     for (unsigned i = 0; CSRegs[i]; ++i)
       CalleeSavedRegs.set(CSRegs[i]);
+
+  // Live-in registers are in use.
+  if (!MBB->livein_empty())
+    for (MachineBasicBlock::const_livein_iterator I = MBB->livein_begin(),
+           E = MBB->livein_end(); I != E; ++I)
+      setUsed(*I);
 }
 
 void RegScavenger::forward() {