1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

Add callseq_begin/end support

Call stil not supported yet

llvm-svn: 22998
This commit is contained in:
Chris Lattner 2005-08-24 00:47:15 +00:00
parent 64f7f0beac
commit f034da3bd4

View File

@ -920,6 +920,16 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
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.