mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-30 16:17:05 +00:00
Support for custom lowering of ISD::RET.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25116 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1302,6 +1302,22 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MVT::ValueType VT = Node->getValueType(0);
|
||||||
|
switch (TLI.getOperationAction(Node->getOpcode(), VT)) {
|
||||||
|
default: assert(0 && "This action is not supported yet!");
|
||||||
|
case TargetLowering::Custom: {
|
||||||
|
SDOperand Tmp = TLI.LowerOperation(Result, DAG);
|
||||||
|
if (Tmp.Val) {
|
||||||
|
Result = LegalizeOp(Tmp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// FALLTHROUGH if the target thinks it is legal.
|
||||||
|
}
|
||||||
|
case TargetLowering::Legal:
|
||||||
|
// Nothing to do.
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case ISD::STORE: {
|
case ISD::STORE: {
|
||||||
Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain.
|
Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain.
|
||||||
|
|||||||
Reference in New Issue
Block a user