mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
add a new callback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0aed7840ec
commit
4f16e70faa
@ -368,17 +368,24 @@ public:
|
||||
LowerFrameReturnAddress(bool isFrameAddr, SDOperand Chain, unsigned Depth,
|
||||
SelectionDAG &DAG);
|
||||
|
||||
/// LowerOperation - For operations that are unsupported by the target, and
|
||||
/// which are registered to use 'custom' lowering, this callback is invoked.
|
||||
/// LowerOperation - This callback is invoked for operations that are
|
||||
/// unsupported by the target, which are registered to use 'custom' lowering,
|
||||
/// and whose defined values are all legal.
|
||||
/// If the target has no operations that require custom lowering, it need not
|
||||
/// implement this. The default implementation of this aborts.
|
||||
virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
|
||||
|
||||
/// CustomPromoteOperation - For operations that are unsupported by the
|
||||
/// target, are registered to use 'custom' lowering, and whose type needs to
|
||||
/// be promoted, this callback is invoked.
|
||||
/// CustomPromoteOperation - This callback is invoked for operations that are
|
||||
/// unsupported by the target, are registered to use 'custom' lowering, and
|
||||
/// whose type needs to be promoted.
|
||||
virtual SDOperand CustomPromoteOperation(SDOperand Op, SelectionDAG &DAG);
|
||||
|
||||
/// CustomExpandOperation - This callback is invoked for operations that are
|
||||
/// unsupported by the target, are registered to use 'custom' lowering, and
|
||||
/// whose type needs to be expanded.
|
||||
virtual void CustomExpandOperation(SDOperand Op, SDOperand &Lo, SDOperand &Hi,
|
||||
SelectionDAG &DAG);
|
||||
|
||||
/// getTargetNodeName() - This method returns the name of a target specific
|
||||
/// DAG node.
|
||||
virtual const char *getTargetNodeName(unsigned Opcode) const;
|
||||
|
@ -1288,6 +1288,13 @@ SDOperand TargetLowering::CustomPromoteOperation(SDOperand Op,
|
||||
return SDOperand();
|
||||
}
|
||||
|
||||
void TargetLowering::CustomExpandOperation(SDOperand Op, SDOperand &Lo,
|
||||
SDOperand &Hi, SelectionDAG &DAG) {
|
||||
assert(0 && "CustomExpandOperation not implemented for this target!");
|
||||
abort();
|
||||
return SDOperand();
|
||||
}
|
||||
|
||||
void SelectionDAGLowering::visitFrameReturnAddress(CallInst &I, bool isFrame) {
|
||||
unsigned Depth = (unsigned)cast<ConstantUInt>(I.getOperand(1))->getValue();
|
||||
std::pair<SDOperand,SDOperand> Result =
|
||||
|
Loading…
x
Reference in New Issue
Block a user