From: Craig Topper Date: Mon, 9 Apr 2012 05:16:56 +0000 (+0000) Subject: Replace some explicit checks with asserts for conditions that should never happen. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ae1bec52f7a0e8b719e74f3575ec238094ff7599;p=oota-llvm.git Replace some explicit checks with asserts for conditions that should never happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154305 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index a8822953caf..036f0392a03 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -7698,8 +7698,7 @@ SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) { SDValue N0 = N->getOperand(0); SDValue N1 = N->getOperand(1); - assert(N0.getValueType().getVectorNumElements() == NumElts && - "Vector shuffle must be normalized in DAG"); + assert(N0.getValueType() == VT && "Vector shuffle must be normalized in DAG"); // Canonicalize shuffle undef, undef -> undef if (N0.getOpcode() == ISD::UNDEF && N1.getOpcode() == ISD::UNDEF) @@ -7804,27 +7803,21 @@ SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) { if (N0.getOperand(1).getOpcode() != ISD::UNDEF) return SDValue(); - // The incoming shuffle must be of the same type as the result of the current - // shuffle. - if (OtherSV->getOperand(0).getValueType() != VT) - return SDValue(); - - EVT InVT = N0.getValueType(); - int InNumElts = InVT.getVectorNumElements(); + // The incoming shuffle must be of the same type as the result of the + // current shuffle. + assert(OtherSV->getOperand(0).getValueType() == VT && + "Shuffle types don't match"); for (unsigned i = 0; i != NumElts; ++i) { int Idx = SVN->getMaskElt(i); - // If we access the second (undef) operand then this index can be - // canonicalized to undef as well. - if (Idx >= InNumElts) - Idx = -1; + assert(Idx < (int)NumElts && "Index references undef operand"); // Next, this index comes from the first value, which is the incoming // shuffle. Adopt the incoming index. if (Idx >= 0) Idx = OtherSV->getMaskElt(Idx); // The combined shuffle must map each index to itself. - if ((unsigned)Idx != i && Idx != -1) + if (Idx >= 0 && (unsigned)Idx != i) return SDValue(); }