[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp

Chris Lattner lattner at cs.uiuc.edu
Tue Aug 23 17:47:26 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelDAGToDAG.cpp updated: 1.20 -> 1.21
---
Log message:

Add callseq_begin/end support
Call stil not supported yet


---
Diffs of the changes:  (+10 -0)

 PPC32ISelDAGToDAG.cpp |   10 ++++++++++
 1 files changed, 10 insertions(+)


Index: llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.20 llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.21
--- llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.20	Sun Aug 21 20:27:59 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp	Tue Aug 23 19:47:15 2005
@@ -920,6 +920,16 @@
                          AddrOp1, AddrOp2, Select(N->getOperand(0)));
     break;
   }
+
+  case ISD::CALLSEQ_START:
+  case ISD::CALLSEQ_END: {
+    unsigned Amt = cast<ConstantSDNode>(N->getOperand(1))->getValue();
+    unsigned Opc = N->getOpcode() == ISD::CALLSEQ_START ?
+                       PPC::ADJCALLSTACKDOWN : PPC::ADJCALLSTACKUP;
+    CurDAG->SelectNodeTo(N, MVT::Other, Opc, Select(N->getOperand(0)),
+                         getI32Imm(Amt));
+    break;
+  }
   case ISD::RET: {
     SDOperand Chain = Select(N->getOperand(0));     // Token chain.
 






More information about the llvm-commits mailing list