diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-09-09 19:49:52 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-09-09 19:49:52 +0000 |
commit | 39ee1ac7e58a66aff7f6986c04878bb7e1bc5b5d (patch) | |
tree | 884d192dd706af7cca711b6bf3da1dd6eed8ab86 /lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | ceb0a5223180c01c6ea6e26ae9556b3797b47f02 (diff) |
Last round of 2-node folds from SD.cpp. Will move on to 3 node ops such
as setcc and select next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23295 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 055caad70a..ae0c2c8d71 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1310,10 +1310,10 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, } } + if (!CombinerEnabled) { if (N2C) { uint64_t C2 = N2C->getValue(); - if (!CombinerEnabled) { switch (Opcode) { case ISD::ADD: if (!C2) return N1; // add X, 0 -> X @@ -1486,7 +1486,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, if (ConstantSDNode *N3C = dyn_cast<ConstantSDNode>(N1.Val->getOperand(1))) return getNode(Opcode, VT, N1.Val->getOperand(0), getNode(Opcode, VT, N2, N1.Val->getOperand(1))); - } + } } ConstantFPSDNode *N1CFP = dyn_cast<ConstantFPSDNode>(N1.Val); @@ -1533,6 +1533,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, case ISD::AND: case ISD::OR: + if (!CombinerEnabled) { if (N1.Val->getOpcode() == ISD::SETCC && N2.Val->getOpcode() == ISD::SETCC){ SDNode *LHS = N1.Val, *RHS = N2.Val; SDOperand LL = LHS->getOperand(0), RL = RHS->getOperand(0); @@ -1595,6 +1596,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, return getNode(ISD::ZERO_EXTEND, VT, getNode(Opcode, N1.getOperand(0).getValueType(), N1.getOperand(0), N2.getOperand(0))); + } break; case ISD::XOR: if (!CombinerEnabled) { |