Only call isUse/isDef on register operands
authorEvan Cheng <evan.cheng@apple.com>
Tue, 5 Sep 2006 20:32:06 +0000 (20:32 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 5 Sep 2006 20:32:06 +0000 (20:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30122 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocLocal.cpp

index e3f3ab6fa3fab557ed8c8dbb32e61d6334e060c2..ffb12c2f94e7710a219ab874a5dadd161a301b5e 100644 (file)
@@ -552,7 +552,7 @@ void RA::AllocateBasicBlock(MachineBasicBlock &MBB) {
     for (unsigned i = 0; i != MI->getNumOperands(); ++i) {
       MachineOperand& MO = MI->getOperand(i);
       // here we are looking for only used operands (never def&use)
-      if (!MO.isDef() && MO.isRegister() && MO.getReg() &&
+      if (MO.isRegister() && !MO.isDef() && MO.getReg() &&
           MRegisterInfo::isVirtualRegister(MO.getReg()))
         MI = reloadVirtReg(MBB, MI, i);
     }
@@ -584,7 +584,7 @@ void RA::AllocateBasicBlock(MachineBasicBlock &MBB) {
     // are defined, and marking explicit destinations in the PhysRegsUsed map.
     for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
       MachineOperand& MO = MI->getOperand(i);
-      if (MO.isDef() && MO.isRegister() && MO.getReg() &&
+      if (MO.isRegister() && MO.isDef() && MO.getReg() &&
           MRegisterInfo::isPhysicalRegister(MO.getReg())) {
         unsigned Reg = MO.getReg();
         PhysRegsEverUsed[Reg] = true;
@@ -626,7 +626,7 @@ void RA::AllocateBasicBlock(MachineBasicBlock &MBB) {
     //
     for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
       MachineOperand& MO = MI->getOperand(i);
-      if (MO.isDef() && MO.isRegister() && MO.getReg() &&
+      if (MO.isRegister() && MO.isDef() && MO.getReg() &&
           MRegisterInfo::isVirtualRegister(MO.getReg())) {
         unsigned DestVirtReg = MO.getReg();
         unsigned DestPhysReg;