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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
18846   unsigned NumElts = VT.getVectorNumElements();
18851   assert(N0.getValueType() == VT && "Vector shuffle must be normalized in DAG");
18855     return DAG.getUNDEF(VT);
18867     return DAG.getVectorShuffle(VT, SDLoc(N), N0, DAG.getUNDEF(VT), NewMask);
18867     return DAG.getVectorShuffle(VT, SDLoc(N), N0, DAG.getUNDEF(VT), NewMask);
18887       return DAG.getVectorShuffle(VT, SDLoc(N), N0, N1, NewMask);
18901     if (N0.hasOneUse() && TLI.isExtractVecEltCheap(VT, SplatIndex) &&
18907       EVT EltVT = VT.getScalarType();
18913       SDValue Insert = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, NewBO);
18914       SmallVector<int, 16> ZeroMask(VT.getVectorNumElements(), 0);
18915       return DAG.getVectorShuffle(VT, DL, Insert, DAG.getUNDEF(VT), ZeroMask);
18915       return DAG.getVectorShuffle(VT, DL, Insert, DAG.getUNDEF(VT), ZeroMask);
18960       if (V->getValueType(0) != VT)
18961         NewBV = DAG.getBitcast(VT, NewBV);
18994   if (Level < AfterLegalizeDAG && TLI.isTypeLegal(VT))
19003       TLI.isTypeLegal(VT)) {
19017       EVT SVT = VT.getScalarType();
19022       EVT ScaleVT = SVT.bitsLT(InnerSVT) ? VT : InnerVT;
19057               VT, DAG.getVectorShuffle(ScaleVT, SDLoc(N), SV0, SV1, NewMask));
19069       TLI.isTypeLegal(VT)) {
19072     assert(N1->getOperand(0).getValueType() == VT &&
19092       Level < AfterLegalizeDAG && TLI.isTypeLegal(VT)) {
19102     assert(OtherSV->getOperand(0).getValueType() == VT &&
19168       return DAG.getUNDEF(VT);
19171       SV0 = DAG.getUNDEF(VT);
19173       SV1 = DAG.getUNDEF(VT);
19182     return TLI.buildLegalVectorShuffle(VT, SDLoc(N), SV0, SV1, Mask, DAG);