[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp ARMInstrInfo.td ARMRegisterInfo.cpp

Rafael Espindola rafael.espindola at gmail.com
Thu May 18 14:46:02 PDT 2006



Changes in directory llvm/lib/Target/ARM:

ARMISelDAGToDAG.cpp updated: 1.2 -> 1.3
ARMInstrInfo.td updated: 1.1 -> 1.2
ARMRegisterInfo.cpp updated: 1.2 -> 1.3
---
Log message:

implement movri
add a stub LowerFORMAL_ARGUMENTS



---
Diffs of the changes:  (+14 -3)

 ARMISelDAGToDAG.cpp |    6 ++++++
 ARMInstrInfo.td     |    9 +++++++--
 ARMRegisterInfo.cpp |    2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.2 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.3
--- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.2	Mon May 15 17:34:39 2006
+++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp	Thu May 18 16:45:49 2006
@@ -81,11 +81,17 @@
   return DAG.getNode(ARMISD::RET_FLAG, MVT::Other, Copy, Copy.getValue(1));
 }
 
+static SDOperand LowerFORMAL_ARGUMENTS(SDOperand Op, SelectionDAG &DAG) {
+  assert(0 && "Not implemented");
+}
+
 SDOperand ARMTargetLowering::LowerOperation(SDOperand Op, SelectionDAG &DAG) {
   switch (Op.getOpcode()) {
   default:
     assert(0 && "Should not custom lower this!");
     abort();
+  case ISD::FORMAL_ARGUMENTS:
+    return LowerFORMAL_ARGUMENTS(Op, DAG);
   case ISD::RET:
     return LowerRET(Op, DAG);
   }


Index: llvm/lib/Target/ARM/ARMInstrInfo.td
diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.1 llvm/lib/Target/ARM/ARMInstrInfo.td:1.2
--- llvm/lib/Target/ARM/ARMInstrInfo.td:1.1	Sun May 14 17:18:28 2006
+++ llvm/lib/Target/ARM/ARMInstrInfo.td	Thu May 18 16:45:49 2006
@@ -42,6 +42,8 @@
                                "!ADJCALLSTACKDOWN $amt",
                                [(callseq_start imm:$amt)]>;
 
+def BX: InstARM<(ops), "bx", [(retflag)]>;
+
 def ldr   : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
                      "ldr $dst, [$addr]",
                      [(set IntRegs:$dst, (load IntRegs:$addr))]>;
@@ -50,5 +52,8 @@
                     "str $src, [$addr]",
                     [(store IntRegs:$src, IntRegs:$addr)]>;
 
-def mov   : InstARM<(ops IntRegs:$dst, IntRegs:$b),
-                    "mov $dst, $b", []>;
+def movrr   : InstARM<(ops IntRegs:$dst, IntRegs:$src),
+                       "mov $dst, $src", []>;
+
+def movri   : InstARM<(ops IntRegs:$dst, i32imm:$src),
+                       "mov $dst, $src", [(set IntRegs:$dst, imm:$src)]>;


Index: llvm/lib/Target/ARM/ARMRegisterInfo.cpp
diff -u llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.2 llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.3
--- llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.2	Wed May 17 19:11:26 2006
+++ llvm/lib/Target/ARM/ARMRegisterInfo.cpp	Thu May 18 16:45:49 2006
@@ -49,7 +49,7 @@
                                      unsigned DestReg, unsigned SrcReg,
                                      const TargetRegisterClass *RC) const {
   assert (RC == ARM::IntRegsRegisterClass);
-  BuildMI(MBB, I, ARM::mov, 1, DestReg).addReg(SrcReg);
+  BuildMI(MBB, I, ARM::movrr, 1, DestReg).addReg(SrcReg);
 }
 
 MachineInstr *ARMRegisterInfo::foldMemoryOperand(MachineInstr* MI,






More information about the llvm-commits mailing list