Additional check for regno==0
authorJim Grosbach <grosbach@apple.com>
Tue, 29 Sep 2009 20:11:10 +0000 (20:11 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 29 Sep 2009 20:11:10 +0000 (20:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83103 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegisterScavenging.cpp

index ada7b4665d35ab314914b1fdaedee2b51eacf092..b99f88f94da819f19a7c48ce8c30bc23e8508764 100644 (file)
@@ -280,7 +280,7 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
   // Exclude all the registers being used by the instruction.
   for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) {
     MachineOperand &MO = I->getOperand(i);
-    if (MO.isReg() && !TRI->isVirtualRegister(MO.getReg()))
+    if (MO.isReg() && MO.getReg() != 0 && !TRI->isVirtualRegister(MO.getReg()))
       Candidates.reset(MO.getReg());
   }