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 f1d81bc..28215ad 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -854,6 +854,7 @@
       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 @@
       N1 = getNode(ISD::ZERO_EXTEND, VT, N1);
     return N1;
   }
-
+  }
   // Could not fold it.
   return SDOperand();
 }
@@ -1807,6 +1808,7 @@
 
     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 @@
                              N3, cast<CondCodeSDNode>(N1.getOperand(2))->get());
       if (Simp.Val) return Simp;
     }
+    }
     break;
   case ISD::BRCOND:
     if (N2C)