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

References

lib/Transforms/InstCombine/InstCombineVectorOps.cpp
 1888   Value *LHS = SVI.getOperand(0);
 1889   Value *RHS = SVI.getOperand(1);
 1891           LHS, RHS, SVI.getMask(), SVI.getType(), SQ.getWithInstruction(&SVI)))
 1891           LHS, RHS, SVI.getMask(), SVI.getType(), SQ.getWithInstruction(&SVI)))
 1891           LHS, RHS, SVI.getMask(), SVI.getType(), SQ.getWithInstruction(&SVI)))
 1892     return replaceInstUsesWith(SVI, V);
 1896   unsigned VWidth = SVI.getType()->getVectorNumElements();
 1898   SmallVector<int, 16> Mask = SVI.getShuffleMask();
 1899   Type *Int32Ty = Type::getInt32Ty(SVI.getContext());
 1918     SVI.setOperand(0, SVI.getOperand(1));
 1918     SVI.setOperand(0, SVI.getOperand(1));
 1919     SVI.setOperand(1, UndefValue::get(RHS->getType()));
 1920     SVI.setOperand(2, ConstantVector::get(Elts));
 1921     return &SVI;
 1924   if (Instruction *I = canonicalizeInsertSplat(SVI, Builder))
 1927   if (Instruction *I = foldSelectShuffle(SVI, Builder, DL))
 1930   if (Instruction *I = narrowVectorSelect(SVI, Builder))
 1935   if (Value *V = SimplifyDemandedVectorElts(&SVI, AllOnesEltMask, UndefElts)) {
 1936     if (V != &SVI)
 1937       return replaceInstUsesWith(SVI, V);
 1938     return &SVI;
 1941   if (Instruction *I = foldIdentityExtractShuffle(SVI))
 1946   if (Instruction *I = foldShuffleWithInsert(SVI))
 1948   if (Instruction *I = foldIdentityPaddedShuffles(SVI))
 1957     if (isLHSID) return replaceInstUsesWith(SVI, LHS);
 1958     if (isRHSID) return replaceInstUsesWith(SVI, RHS);
 1963     return replaceInstUsesWith(SVI, V);
 1996   if (isShuffleExtractingFromLHS(SVI, Mask)) {
 2006     for (User *U : SVI.users())
 2034                                         SVI.getName() + ".extract");
 2044               : Builder.CreateBitCast(V, CastSrcTy, SVI.getName() + ".bc");
 2048           NewBC, ConstantInt::get(Int32Ty, BegIdx), SVI.getName() + ".extract");
 2108     return MadeChange ? &SVI : nullptr;
 2148     return MadeChange ? &SVI : nullptr;
 2242   if (isLHSID && VWidth == LHSOp0Width) return replaceInstUsesWith(SVI, newLHS);
 2243   if (isRHSID && VWidth == RHSOp0Width) return replaceInstUsesWith(SVI, newRHS);
 2245   return MadeChange ? &SVI : nullptr;