Changes in directory llvm/lib/CodeGen/SelectionDAG:
DAGCombiner.cpp updated: 1.87 -> 1.88 LegalizeDAG.cpp updated: 1.289 -> 1.290 --- Log message: eliminate uses of SelectionDAG::getBR2Way_CC --- Diffs of the changes: (+24 -9) DAGCombiner.cpp | 13 ++++++++++--- LegalizeDAG.cpp | 20 ++++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.87 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.88 --- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.87 Fri Jan 27 19:06:30 2006 +++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Sun Jan 29 00:00:45 2006 @@ -2092,9 +2092,16 @@ if (SCCC && SCCC->isNullValue()) return DAG.getNode(ISD::BR, MVT::Other, Chain, N5); // fold to a simpler setcc - if (SCC.Val && SCC.getOpcode() == ISD::SETCC) - return DAG.getBR2Way_CC(Chain, SCC.getOperand(2), SCC.getOperand(0), - SCC.getOperand(1), N4, N5); + if (SCC.Val && SCC.getOpcode() == ISD::SETCC) { + std::vector<SDOperand> Ops; + Ops.push_back(Chain); + Ops.push_back(SCC.getOperand(2)); + Ops.push_back(SCC.getOperand(0)); + Ops.push_back(SCC.getOperand(1)); + Ops.push_back(N4); + Ops.push_back(N5); + return DAG.getNode(ISD::BRTWOWAY_CC, MVT::Other, Ops); + } return SDOperand(); } Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.289 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.290 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.289 Sat Jan 28 04:58:55 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sun Jan 29 00:00:45 2006 @@ -749,14 +749,22 @@ // BRCOND/BR pair. if (TLI.isOperationLegal(ISD::BRTWOWAY_CC, MVT::Other)) { if (Tmp2.getOpcode() == ISD::SETCC) { - Result = DAG.getBR2Way_CC(Tmp1, Tmp2.getOperand(2), - Tmp2.getOperand(0), Tmp2.getOperand(1), - Node->getOperand(2), Node->getOperand(3)); + Tmp3 = Tmp2.getOperand(0); + Tmp4 = Tmp2.getOperand(1); + Tmp2 = Tmp2.getOperand(2); } else { - Result = DAG.getBR2Way_CC(Tmp1, DAG.getCondCode(ISD::SETNE), Tmp2, - DAG.getConstant(0, Tmp2.getValueType()), - Node->getOperand(2), Node->getOperand(3)); + Tmp3 = Tmp2; + Tmp4 = DAG.getConstant(0, Tmp2.getValueType()); + Tmp2 = DAG.getCondCode(ISD::SETNE); } + std::vector<SDOperand> Ops; + Ops.push_back(Tmp1); + Ops.push_back(Tmp2); + Ops.push_back(Tmp3); + Ops.push_back(Tmp4); + Ops.push_back(Node->getOperand(2)); + Ops.push_back(Node->getOperand(3)); + Result = DAG.getNode(ISD::BRTWOWAY_CC, MVT::Other, Ops); } else { Result = DAG.getNode(ISD::BRCOND, MVT::Other, Tmp1, Tmp2, Node->getOperand(2)); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits