Allow targets to legalize operations (with illegal operands) that produces multiple values. For example, a load with an illegal operand (a load produces two values, a value and chain).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62663 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sanjiv Gupta
2009-01-21 04:48:39 +00:00
parent aaf414c92c
commit bb326bbe88
6 changed files with 99 additions and 65 deletions
@@ -5568,6 +5568,15 @@ TargetLowering::LowerCallTo(SDValue Chain, const Type *RetTy,
return std::make_pair(Res, Chain);
}
void TargetLowering::LowerOperationWrapper(SDValue Op,
SmallVectorImpl<SDValue> &Results,
SelectionDAG &DAG) {
SDValue Res;
Res = LowerOperation(Op, DAG);
if (Res.getNode())
Results.push_back(Res);
}
SDValue TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) {
assert(0 && "LowerOperation not implemented for this target!");
abort();