From bfbbf0aba81a84da8b53d4d159d080e77ad8ee70 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 17 Nov 2019 23:23:07 -0800 Subject: [PATCH] [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. --- llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 9 --------- 1 file changed, 9 deletions(-) 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 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); }