Let the combiner handle more cases
authorNate Begeman <natebegeman@mac.com>
Wed, 5 Oct 2005 21:44:43 +0000 (21:44 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 5 Oct 2005 21:44:43 +0000 (21:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23641 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index f1d81bcfb67f27d5028d0219935ccf330aefd4b0..28215ad59b50b09bc3eee06eb9745d3579c3aa55 100644 (file)
@@ -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<CondCodeSDNode>(N1.getOperand(2))->get());
       if (Simp.Val) return Simp;
     }
+    }
     break;
   case ISD::BRCOND:
     if (N2C)