diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp index 5957e3a503b..a4f3b1eb965 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp @@ -47,6 +47,10 @@ void DAGTypeLegalizer::SoftenFloatResult(SDNode *N, unsigned ResNo) {          errs() << "\n");    SDValue R = SDValue(); +  // See if the target wants to custom handle softening this result. +  if (CustomLowerNode(N, N->getValueType(ResNo), true)) +        return; +    switch (N->getOpcode()) {    default:  #ifndef NDEBUG @@ -535,6 +539,10 @@ bool DAGTypeLegalizer::SoftenFloatOperand(SDNode *N, unsigned OpNo) {          errs() << "\n");    SDValue Res = SDValue(); +  // See if target wants to custom handle softening this operand. +  if (CustomLowerNode(N, N->getOperand(OpNo).getValueType(), false)) +     return false; +    switch (N->getOpcode()) {    default:  #ifndef NDEBUG | 

