mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
add a new target hook.
llvm-svn: 43165
This commit is contained in:
parent
57e2fa4ba0
commit
f02434cdaf
@ -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