diff options
Diffstat (limited to 'include/llvm/Target')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index ee26579..5439ff6 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -910,12 +910,16 @@ public: /// ExpandOperationResult - 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. + /// and whose result type needs to be expanded. This must return a node whose + /// results precisely match the results of the input node. This typically + /// involves a MERGE_VALUES node and/or BUILD_PAIR. /// /// 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> - ExpandOperationResult(SDNode *N, SelectionDAG &DAG); + virtual SDNode *ExpandOperationResult(SDNode *N, SelectionDAG &DAG) { + assert(0 && "ExpandOperationResult not implemented for this target!"); + return 0; + } /// IsEligibleForTailCallOptimization - Check whether the call is eligible for /// tail call optimization. Targets which want to do tail call optimization |