mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
Mips ISelLowering cleanup : Removed old LowerCALL and FORMAL_ARGS helpers, they
aren't used anyway, they also used to broke compiling when fastcc was specified for a function, but not anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54316 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ea9d4d6ab0
commit
f7f3b50cd8
@ -556,34 +556,19 @@ LowerConstantPool(SDValue Op, SelectionDAG &DAG)
|
||||
// CALL Calling Convention Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// Mips custom CALL implementation
|
||||
SDValue MipsTargetLowering::
|
||||
LowerCALL(SDValue Op, SelectionDAG &DAG)
|
||||
{
|
||||
unsigned CallingConv = cast<ConstantSDNode>(Op.getOperand(1))->getValue();
|
||||
|
||||
// By now, only CallingConv::C implemented
|
||||
switch (CallingConv) {
|
||||
default:
|
||||
assert(0 && "Unsupported calling convention");
|
||||
case CallingConv::Fast:
|
||||
case CallingConv::C:
|
||||
return LowerCCCCallTo(Op, DAG, CallingConv);
|
||||
}
|
||||
}
|
||||
|
||||
/// LowerCCCCallTo - functions arguments are copied from virtual
|
||||
/// regs to (physical regs)/(stack frame), CALLSEQ_START and
|
||||
/// CALLSEQ_END are emitted.
|
||||
/// TODO: isVarArg, isTailCall.
|
||||
SDValue MipsTargetLowering::
|
||||
LowerCCCCallTo(SDValue Op, SelectionDAG &DAG, unsigned CC)
|
||||
LowerCALL(SDValue Op, SelectionDAG &DAG)
|
||||
{
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
|
||||
SDValue Chain = Op.getOperand(0);
|
||||
SDValue Chain = Op.getOperand(0);
|
||||
SDValue Callee = Op.getOperand(4);
|
||||
bool isVarArg = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
|
||||
bool isVarArg = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
|
||||
unsigned CC = DAG.getMachineFunction().getFunction()->getCallingConv();
|
||||
|
||||
MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
|
||||
@ -786,34 +771,20 @@ LowerCallResult(SDValue Chain, SDValue InFlag, SDNode *TheCall,
|
||||
// FORMAL_ARGUMENTS Calling Convention Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// Mips custom FORMAL_ARGUMENTS implementation
|
||||
SDValue MipsTargetLowering::
|
||||
LowerFORMAL_ARGUMENTS(SDValue Op, SelectionDAG &DAG)
|
||||
{
|
||||
unsigned CC = cast<ConstantSDNode>(Op.getOperand(1))->getValue();
|
||||
switch(CC)
|
||||
{
|
||||
default:
|
||||
assert(0 && "Unsupported calling convention");
|
||||
case CallingConv::C:
|
||||
return LowerCCCArguments(Op, DAG);
|
||||
}
|
||||
}
|
||||
|
||||
/// LowerCCCArguments - transform physical registers into
|
||||
/// LowerFORMAL_ARGUMENTS - transform physical registers into
|
||||
/// virtual registers and generate load operations for
|
||||
/// arguments places on the stack.
|
||||
/// TODO: isVarArg
|
||||
SDValue MipsTargetLowering::
|
||||
LowerCCCArguments(SDValue Op, SelectionDAG &DAG)
|
||||
LowerFORMAL_ARGUMENTS(SDValue Op, SelectionDAG &DAG)
|
||||
{
|
||||
SDValue Root = Op.getOperand(0);
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
SDValue Root = Op.getOperand(0);
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
MipsFunctionInfo *MipsFI = MF.getInfo<MipsFunctionInfo>();
|
||||
|
||||
bool isVarArg = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
|
||||
unsigned CC = DAG.getMachineFunction().getFunction()->getCallingConv();
|
||||
unsigned CC = DAG.getMachineFunction().getFunction()->getCallingConv();
|
||||
|
||||
unsigned StackReg = MF.getTarget().getRegisterInfo()->getFrameRegister(MF);
|
||||
|
||||
|
@ -83,8 +83,6 @@ namespace llvm {
|
||||
const MipsSubtarget *Subtarget;
|
||||
|
||||
// Lower Operand helpers
|
||||
SDValue LowerCCCArguments(SDValue Op, SelectionDAG &DAG);
|
||||
SDValue LowerCCCCallTo(SDValue Op, SelectionDAG &DAG, unsigned CC);
|
||||
SDNode *LowerCallResult(SDValue Chain, SDValue InFlag, SDNode*TheCall,
|
||||
unsigned CallingConv, SelectionDAG &DAG);
|
||||
bool IsGlobalInSmallSection(GlobalValue *GV);
|
||||
|
Loading…
x
Reference in New Issue
Block a user