From: Craig Topper Date: Tue, 17 Dec 2019 07:24:22 +0000 (-0800) Subject: [LegalizeTypes] Remove ScalarizeVecRes_STRICT_FP_ROUND in favor of just using Scalari... X-Git-Tag: llvmorg-11-init~1980 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c738ebc1f57e6e1e3c1c798cb9f3385d67d34f8a;p=platform%2Fupstream%2Fllvm.git [LegalizeTypes] Remove ScalarizeVecRes_STRICT_FP_ROUND in favor of just using ScalarizeVecRes_StrictFPOp. NFCI It looks like ScalarizeVecRes_StrictFPOp can handle a variable number of arguments with scalar and vector types so it should be sufficient. --- diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h index cf77754..8fc86ed 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h @@ -676,7 +676,6 @@ private: SDValue ScalarizeVecRes_BUILD_VECTOR(SDNode *N); SDValue ScalarizeVecRes_EXTRACT_SUBVECTOR(SDNode *N); SDValue ScalarizeVecRes_FP_ROUND(SDNode *N); - SDValue ScalarizeVecRes_STRICT_FP_ROUND(SDNode *N); SDValue ScalarizeVecRes_FPOWI(SDNode *N); SDValue ScalarizeVecRes_INSERT_VECTOR_ELT(SDNode *N); SDValue ScalarizeVecRes_LOAD(LoadSDNode *N); diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 9e20ccb..7df6811 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -198,9 +198,6 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_MULFIX(SDNode *N) { } SDValue DAGTypeLegalizer::ScalarizeVecRes_StrictFPOp(SDNode *N) { - if (N->getOpcode() == ISD::STRICT_FP_ROUND) - return ScalarizeVecRes_STRICT_FP_ROUND(N); - EVT VT = N->getValueType(0).getVectorElementType(); unsigned NumOpers = N->getNumOperands(); SDValue Chain = N->getOperand(0); @@ -307,18 +304,6 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_FP_ROUND(SDNode *N) { NewVT, Op, N->getOperand(1)); } -SDValue DAGTypeLegalizer::ScalarizeVecRes_STRICT_FP_ROUND(SDNode *N) { - EVT NewVT = N->getValueType(0).getVectorElementType(); - SDValue Op = GetScalarizedVector(N->getOperand(1)); - SDValue Res = DAG.getNode(ISD::STRICT_FP_ROUND, SDLoc(N), - { NewVT, MVT::Other }, - { N->getOperand(0), Op, N->getOperand(2) }); - // Legalize the chain result - switch anything that used the old chain to - // use the new one. - ReplaceValueWith(SDValue(N, 1), Res.getValue(1)); - return Res; -} - SDValue DAGTypeLegalizer::ScalarizeVecRes_FPOWI(SDNode *N) { SDValue Op = GetScalarizedVector(N->getOperand(0)); return DAG.getNode(ISD::FPOWI, SDLoc(N),