[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp

Evan Cheng evan.cheng at apple.com
Wed Nov 15 12:58:31 PST 2006



Changes in directory llvm/lib/Target/Sparc:

SparcRegisterInfo.cpp updated: 1.46 -> 1.47
---
Log message:

Properly transfer kill / dead info.

---
Diffs of the changes:  (+9 -5)

 SparcRegisterInfo.cpp |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)


Index: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
diff -u llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.46 llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.47
--- llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.46	Mon Nov 13 17:36:35 2006
+++ llvm/lib/Target/Sparc/SparcRegisterInfo.cpp	Wed Nov 15 14:58:11 2006
@@ -77,15 +77,16 @@
                                                    unsigned OpNum,
                                                    int FI) const {
   bool isFloat = false;
+  MachineInstr *NewMI = NULL;
   switch (MI->getOpcode()) {
   case SP::ORrr:
     if (MI->getOperand(1).isRegister() && MI->getOperand(1).getReg() == SP::G0&&
         MI->getOperand(0).isRegister() && MI->getOperand(2).isRegister()) {
       if (OpNum == 0)    // COPY -> STORE
-        return BuildMI(TII, SP::STri, 3).addFrameIndex(FI).addImm(0)
+        NewMI = BuildMI(TII, SP::STri, 3).addFrameIndex(FI).addImm(0)
                                    .addReg(MI->getOperand(2).getReg());
       else               // COPY -> LOAD
-        return BuildMI(TII, SP::LDri, 2, MI->getOperand(0).getReg())
+        NewMI = BuildMI(TII, SP::LDri, 2, MI->getOperand(0).getReg())
                       .addFrameIndex(FI).addImm(0);
     }
     break;
@@ -94,14 +95,17 @@
     // FALLTHROUGH
   case SP::FMOVD:
     if (OpNum == 0)  // COPY -> STORE
-      return BuildMI(TII, isFloat ? SP::STFri : SP::STDFri, 3)
+      NewMI = BuildMI(TII, isFloat ? SP::STFri : SP::STDFri, 3)
                .addFrameIndex(FI).addImm(0).addReg(MI->getOperand(1).getReg());
     else             // COPY -> LOAD
-      return BuildMI(TII, isFloat ? SP::LDFri : SP::LDDFri, 2, 
+      NewMI = BuildMI(TII, isFloat ? SP::LDFri : SP::LDDFri, 2, 
                      MI->getOperand(0).getReg()).addFrameIndex(FI).addImm(0);
     break;
   }
-  return 0;
+
+  if (NewMI)
+    NewMI->copyKillDeadInfo(MI);
+  return NewMI;
 }
 
 const unsigned* SparcRegisterInfo::getCalleeSaveRegs() const {






More information about the llvm-commits mailing list