From: Nate Begeman Date: Wed, 5 Oct 2005 21:44:43 +0000 (+0000) Subject: Let the combiner handle more cases X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0558f61b0c758344ce18c548e4046b794610ea42;p=oota-llvm.git Let the combiner handle more cases git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23641 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index f1d81bcfb67..28215ad59b5 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -854,6 +854,7 @@ SDOperand SelectionDAG::SimplifySetCC(MVT::ValueType VT, SDOperand N1, return getSetCC(VT, N2, N1, ISD::getSetCCSwappedOperands(Cond)); } + if (!CombinerEnabled) { if (N1 == N2) { // We can always fold X == Y for integer setcc's. if (MVT::isInteger(N1.getValueType())) @@ -979,7 +980,7 @@ SDOperand SelectionDAG::SimplifySetCC(MVT::ValueType VT, SDOperand N1, N1 = getNode(ISD::ZERO_EXTEND, VT, N1); return N1; } - + } // Could not fold it. return SDOperand(); } @@ -1807,6 +1808,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, if (N2 == N3) return N2; // select C, X, X -> X + if (!CombinerEnabled) { if (VT == MVT::i1) { // Boolean SELECT if (N2C) { if (N2C->getValue()) // select C, 1, X -> C | X @@ -1834,6 +1836,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, N3, cast(N1.getOperand(2))->get()); if (Simp.Val) return Simp; } + } break; case ISD::BRCOND: if (N2C)