mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Use PPCISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25717 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
44ea7b1a6c
commit
281b55ebec
@ -821,8 +821,7 @@ SDOperand PPCDAGToDAGISel::Select(SDOperand Op) {
|
||||
case ISD::ADD_PARTS: return SelectADD_PARTS(Op);
|
||||
case ISD::SUB_PARTS: return SelectSUB_PARTS(Op);
|
||||
case ISD::SETCC: return SelectSETCC(Op);
|
||||
case ISD::CALL: return SelectCALL(Op);
|
||||
case ISD::TAILCALL: return SelectCALL(Op);
|
||||
case PPCISD::CALL: return SelectCALL(Op);
|
||||
case PPCISD::GlobalBaseReg: return getGlobalBaseReg();
|
||||
|
||||
case ISD::FrameIndex: {
|
||||
|
@ -666,7 +666,7 @@ PPCTargetLowering::LowerCallTo(SDOperand Chain,
|
||||
unsigned CallingConv, bool isTailCall,
|
||||
SDOperand Callee, ArgListTy &Args,
|
||||
SelectionDAG &DAG) {
|
||||
// args_to_use will accumulate outgoing args for the ISD::CALL case in
|
||||
// args_to_use will accumulate outgoing args for the PPCISD::CALL case in
|
||||
// SelectExpr to use to put the arguments in the appropriate registers.
|
||||
std::vector<SDOperand> args_to_use;
|
||||
|
||||
@ -844,8 +844,11 @@ PPCTargetLowering::LowerCallTo(SDOperand Chain,
|
||||
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
|
||||
Callee = DAG.getTargetGlobalAddress(G->getGlobal(), MVT::i32);
|
||||
|
||||
SDOperand TheCall = SDOperand(DAG.getCall(RetVals,
|
||||
Chain, Callee, args_to_use), 0);
|
||||
std::vector<SDOperand> Ops;
|
||||
Ops.push_back(Chain);
|
||||
Ops.push_back(Callee);
|
||||
Ops.insert(Ops.end(), args_to_use.begin(), args_to_use.end());
|
||||
SDOperand TheCall = DAG.getNode(PPCISD::CALL, RetVals, Ops);
|
||||
Chain = TheCall.getValue(RetTyVT != MVT::isVoid);
|
||||
Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain,
|
||||
DAG.getConstant(NumBytes, getPointerTy()));
|
||||
|
@ -59,9 +59,12 @@ namespace llvm {
|
||||
/// code.
|
||||
SRL, SRA, SHL,
|
||||
|
||||
/// CALL - A function call.
|
||||
CALL,
|
||||
|
||||
/// Return with a flag operand, matched by 'blr'
|
||||
RET_FLAG,
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
class PPCTargetLowering : public TargetLowering {
|
||||
|
Loading…
Reference in New Issue
Block a user