From dc3154ec66d5534f98cf558652fd6c6e98e41a24 Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Sat, 13 Aug 2005 06:14:17 +0000 Subject: Remove an unncessary argument to SimplifySelectCC and add an additional assert when creating a select_cc node. llvm-svn: 22780 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'llvm/lib') diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 9da30f1cf50..993b3ec2aa2 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -686,9 +686,10 @@ SDOperand SelectionDAG::SimplifySetCC(MVT::ValueType VT, SDOperand N1, return SDOperand(); } -SDOperand SelectionDAG::SimplifySelectCC(MVT::ValueType VT, ISD::CondCode CC, - SDOperand N1, SDOperand N2, SDOperand N3, - SDOperand N4) { +SDOperand SelectionDAG::SimplifySelectCC(SDOperand N1, SDOperand N2, + SDOperand N3, SDOperand N4, + ISD::CondCode CC) { + MVT::ValueType VT = N3.getValueType(); ConstantSDNode *N2C = dyn_cast(N2.Val); ConstantSDNode *N3C = dyn_cast(N3.Val); ConstantSDNode *N4C = dyn_cast(N4.Val); @@ -1490,9 +1491,8 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, return getNode(ISD::AND, VT, N1, N2); } if (N1.getOpcode() == ISD::SETCC) { - SDOperand Simp = SimplifySelectCC(VT, - cast(N1.getOperand(2))->get(), - N1.getOperand(0), N1.getOperand(1), N2, N3); + SDOperand Simp = SimplifySelectCC(N1.getOperand(0), N1.getOperand(1), N2, + N3, cast(N1.getOperand(2))->get()); if (Simp.Val) return Simp; } break; @@ -1541,8 +1541,10 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, "LHS and RHS of condition must have same type!"); assert(N3.getValueType() == N4.getValueType() && "True and False arms of SelectCC must have same type!"); - SDOperand Simp = SimplifySelectCC(VT, cast(N5)->get(), N1, - N2, N3, N4); + assert(N3.getValueType() == VT && + "select_cc node must be of same type as true and false value!"); + SDOperand Simp = SimplifySelectCC(N1, N2, N3, N4, + cast(N5)->get()); if (Simp.Val) return Simp; } -- cgit v1.2.3