[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp SparcV8InstrInfo.td

Chris Lattner lattner at cs.uiuc.edu
Sun Dec 18 15:11:08 PST 2005



Changes in directory llvm/lib/Target/SparcV8:

SparcV8ISelSimple.cpp updated: 1.96 -> 1.97
SparcV8InstrInfo.td updated: 1.83 -> 1.84
---
Log message:

Add support for undef


---
Diffs of the changes:  (+12 -6)

 SparcV8ISelSimple.cpp |   10 +++++-----
 SparcV8InstrInfo.td   |    8 +++++++-
 2 files changed, 12 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp
diff -u llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.96 llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.97
--- llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.96	Sun Dec 18 07:33:06 2005
+++ llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp	Sun Dec 18 17:10:57 2005
@@ -243,9 +243,9 @@
       abort();
     }
   } else if (isa<UndefValue>(C)) {
-    BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R);
+    BuildMI(*MBB, IP, V8::IMPLICIT_DEF_Int, 0, R);
     if (getClassB (C->getType ()) == cLong)
-      BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R+1);
+      BuildMI(*MBB, IP, V8::IMPLICIT_DEF_Int, 0, R+1);
     return;
   }
 
@@ -341,15 +341,15 @@
     case cShort:
     case cInt:
     case cFloat:
-      BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]);
+      BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]);
       break;
     case cDouble:
     case cLong:
       // Double and Long use register pairs.
-      BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]);
+      BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]);
       ++ArgNo;
       if (ArgNo < 6)
-        BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]);
+        BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]);
       break;
     default:
       assert (0 && "type not handled");


Index: llvm/lib/Target/SparcV8/SparcV8InstrInfo.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.83 llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.84
--- llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.83	Sun Dec 18 15:03:04 2005
+++ llvm/lib/Target/SparcV8/SparcV8InstrInfo.td	Sun Dec 18 17:10:57 2005
@@ -111,7 +111,13 @@
 def ADJCALLSTACKUP : Pseudo<(ops i32imm:$amt),
                             "!ADJCALLSTACKUP $amt",
                             [(callseq_end imm:$amt)]>;
-def IMPLICIT_DEF : Pseudo<(ops IntRegs:$dst), "!IMPLICIT_DEF $dst", []>;
+def IMPLICIT_DEF_Int : Pseudo<(ops IntRegs:$dst),
+                              "!IMPLICIT_DEF $dst",
+                              [(set IntRegs:$dst, (undef))]>;
+def IMPLICIT_DEF_FP  : Pseudo<(ops FPRegs:$dst), "!IMPLICIT_DEF $dst",
+                              [(set FPRegs:$dst, (undef))]>;
+def IMPLICIT_DEF_DFP : Pseudo<(ops DFPRegs:$dst), "!IMPLICIT_DEF $dst",
+                              [(set DFPRegs:$dst, (undef))]>;
 def FpMOVD : Pseudo<(ops DFPRegs:$dst, DFPRegs:$src),
                     "!FpMOVD", []>;      // pseudo 64-bit double move
 






More information about the llvm-commits mailing list