reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
18851 assert(N0.getValueType() == VT && "Vector shuffle must be normalized in DAG"); 18854 if (N0.isUndef() && N1.isUndef()) 18860 if (N0 == N1) { 18867 return DAG.getVectorShuffle(VT, SDLoc(N), N0, DAG.getUNDEF(VT), NewMask); 18871 if (N0.isUndef()) 18887 return DAG.getVectorShuffle(VT, SDLoc(N), N0, N1, NewMask); 18901 if (N0.hasOneUse() && TLI.isExtractVecEltCheap(VT, SplatIndex) && 18902 TLI.isBinOp(N0.getOpcode()) && N0.getNode()->getNumValues() == 1) { 18902 TLI.isBinOp(N0.getOpcode()) && N0.getNode()->getNumValues() == 1) { 18905 SDValue L = N0.getOperand(0), R = N0.getOperand(1); 18905 SDValue L = N0.getOperand(0), R = N0.getOperand(1); 18911 SDValue NewBO = DAG.getNode(N0.getOpcode(), DL, EltVT, ExtL, ExtR, 18912 N0.getNode()->getFlags()); 18921 SDNode *V = N0.getNode(); 18942 return N0; 18951 return N0; 18983 if (N0.getOpcode() == ISD::CONCAT_VECTORS && 18987 N0.getOperand(0).getValueType() == N1.getOperand(0).getValueType()))) { 19001 if (N0.getOpcode() == ISD::BITCAST && N0.hasOneUse() && 19001 if (N0.getOpcode() == ISD::BITCAST && N0.hasOneUse() && 19015 SDValue BC0 = peekThroughOneUseBitcasts(N0); 19068 N0.getOpcode() != ISD::VECTOR_SHUFFLE && Level < AfterLegalizeDAG && 19077 bool HasSameOp0 = N0 == SV0; 19079 if (HasSameOp0 || IsSV1Undef || N0 == SV1) 19091 if (N0.getOpcode() == ISD::VECTOR_SHUFFLE && N->isOnlyUserOf(N0.getNode()) && 19091 if (N0.getOpcode() == ISD::VECTOR_SHUFFLE && N->isOnlyUserOf(N0.getNode()) && 19093 ShuffleVectorSDNode *OtherSV = cast<ShuffleVectorSDNode>(N0);