[llvm] bfbbf0a - [LegalizeTypes] Remove SoftenFloat handling from ExpandIntRes_LLROUND_LLRINT and remove assert from the strict fp path.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 17 23:48:48 PST 2019


Author: Craig Topper
Date: 2019-11-17T23:48:31-08:00
New Revision: bfbbf0aba81a84da8b53d4d159d080e77ad8ee70

URL: https://github.com/llvm/llvm-project/commit/bfbbf0aba81a84da8b53d4d159d080e77ad8ee70
DIFF: https://github.com/llvm/llvm-project/commit/bfbbf0aba81a84da8b53d4d159d080e77ad8ee70.diff

LOG: [LegalizeTypes] Remove SoftenFloat handling from ExpandIntRes_LLROUND_LLRINT and remove assert from the strict fp path.

These were both recently added. While the call to GetSoftenedFloat
is a little more optimal, we don't do it in the expand for
FP_TO_SINT/UINT so there's no real reason to do it here. This
avoids a FIXME for strict fp.

Added: 
    

Modified: 
    llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
index 36d66606de17..eadc80b965d8 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
@@ -2629,9 +2629,6 @@ void DAGTypeLegalizer::ExpandIntRes_LLROUND_LLRINT(SDNode *N, SDValue &Lo,
   EVT RetVT = N->getValueType(0);
 
   if (N->isStrictFPOpcode()) {
-    // FIXME: Support softening for strict fp!
-    assert(getTypeAction(VT) != TargetLowering::TypeSoftenFloat &&
-           "Softening strict fp calls not supported yet!");
     std::pair<SDValue, SDValue> Tmp = ExpandChainLibCall(LC, N, true);
     SplitInteger(Tmp.first, Lo, Hi);
     ReplaceValueWith(SDValue(N, 1), Tmp.second);
@@ -2640,12 +2637,6 @@ void DAGTypeLegalizer::ExpandIntRes_LLROUND_LLRINT(SDNode *N, SDValue &Lo,
 
   TargetLowering::MakeLibCallOptions CallOptions;
   CallOptions.setSExt(true);
-
-  if (getTypeAction(VT) == TargetLowering::TypeSoftenFloat) {
-    Op = GetSoftenedFloat(Op);
-    CallOptions.setTypeListBeforeSoften(VT, RetVT, true);
-  }
-
   SplitInteger(TLI.makeLibCall(DAG, LC, RetVT, Op, CallOptions, dl).first,
                Lo, Hi);
 }


        


More information about the llvm-commits mailing list