reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
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);