mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-08 21:10:35 +00:00
add a new target hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43165 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3a7c33a853
commit
f58dac3169
@ -885,6 +885,15 @@ public:
|
||||
/// implement this. The default implementation of this aborts.
|
||||
virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
|
||||
|
||||
/// ExpandOperation - This callback is invoked for operations that are
|
||||
/// unsupported by the target, which are registered to use 'custom' lowering,
|
||||
/// and whose result type needs to be expanded.
|
||||
///
|
||||
/// If the target has no operations that require custom lowering, it need not
|
||||
/// implement this. The default implementation of this aborts.
|
||||
virtual std::pair<SDOperand,SDOperand>
|
||||
ExpandOperation(SDOperand Op, SelectionDAG &DAG);
|
||||
|
||||
/// IsEligibleForTailCallOptimization - Check whether the call is eligible for
|
||||
/// tail call optimization. Targets which want to do tail call optimization
|
||||
/// should override this function.
|
||||
|
@ -4134,6 +4134,14 @@ SDOperand TargetLowering::LowerOperation(SDOperand Op, SelectionDAG &DAG) {
|
||||
return SDOperand();
|
||||
}
|
||||
|
||||
std::pair<SDOperand,SDOperand>
|
||||
TargetLowering::ExpandOperation(SDOperand Op, SelectionDAG &DAG) {
|
||||
assert(0 && "ExpandOperation not implemented for this target!");
|
||||
abort();
|
||||
return std::pair<SDOperand,SDOperand>();
|
||||
}
|
||||
|
||||
|
||||
SDOperand TargetLowering::CustomPromoteOperation(SDOperand Op,
|
||||
SelectionDAG &DAG) {
|
||||
assert(0 && "CustomPromoteOperation not implemented for this target!");
|
||||
|
Loading…
Reference in New Issue
Block a user