From: Simon Pilgrim Date: Mon, 11 Mar 2019 17:56:18 +0000 (+0000) Subject: [DAG] FoldSetCC - reuse valuetype + ensure its simple. X-Git-Tag: llvmorg-10-init~10277 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3be93a2ff59836924eef83ed4a597bdf9bbc9a8;p=platform%2Fupstream%2Fllvm.git [DAG] FoldSetCC - reuse valuetype + ensure its simple. llvm-svn: 355847 --- diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index d91d9d6..a87883b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1970,7 +1970,7 @@ SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2, case ISD::SETUO: case ISD::SETUEQ: case ISD::SETUNE: - assert(!N1.getValueType().isInteger() && "Illegal setcc for integer!"); + assert(!OpVT.isInteger() && "Illegal setcc for integer!"); break; } @@ -2054,11 +2054,10 @@ SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2, case ISD::SETUGE: return getBoolConstant(R!=APFloat::cmpLessThan, dl, VT, OpVT); } - } else if (N1CFP) { + } else if (N1CFP && OpVT.isSimple()) { // Ensure that the constant occurs on the RHS. ISD::CondCode SwappedCond = ISD::getSetCCSwappedOperands(Cond); - MVT CompVT = N1.getValueType().getSimpleVT(); - if (!TLI->isCondCodeLegal(SwappedCond, CompVT)) + if (!TLI->isCondCodeLegal(SwappedCond, OpVT.getSimpleVT())) return SDValue(); return getSetCC(dl, VT, N2, N1, SwappedCond); } else if (N2CFP && N2CFP->getValueAPF().isNaN()) {