diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-10-05 21:44:43 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-10-05 21:44:43 +0000 |
commit | 0558f61b0c758344ce18c548e4046b794610ea42 (patch) | |
tree | 0207a014e792fd559d17617ace0e04e2abe78a64 | |
parent | 829cb818065673a50101435f3c25e50ca82a02bf (diff) |
Let the combiner handle more cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23641 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index f1d81bcfb6..28215ad59b 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<CondCodeSDNode>(N1.getOperand(2))->get()); if (Simp.Val) return Simp; } + } break; case ISD::BRCOND: if (N2C) |