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

References

lib/Transforms/Vectorize/SLPVectorizer.cpp
 3071                                                   Builder.getInt1Ty(), VL0);
 3075       VectorType *MaskTy = VectorType::get(Builder.getInt1Ty(), VL.size());
 3612   Builder.SetInsertPoint(BB, ++LastInst->getIterator());
 3613   Builder.SetCurrentDebugLocation(Front->getDebugLoc());
 3620     Vec = Builder.CreateInsertElement(Vec, VL[i], Builder.getInt32(i));
 3620     Vec = Builder.CreateInsertElement(Vec, VL[i], Builder.getInt32(i));
 3667             V = Builder.CreateShuffleVector(V, UndefValue::get(V->getType()),
 3703     V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3723   IRBuilder<>::InsertPointGuard Guard(Builder);
 3742       V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3758       Builder.SetInsertPoint(PH->getParent()->getFirstNonPHI());
 3759       Builder.SetCurrentDebugLocation(PH->getDebugLoc());
 3760       PHINode *NewPhi = Builder.CreatePHI(VecTy, PH->getNumIncomingValues());
 3763         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3781         Builder.SetInsertPoint(IBB->getTerminator());
 3782         Builder.SetCurrentDebugLocation(PH->getDebugLoc());
 3798           Builder.SetInsertPoint(VL0);
 3799           V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy), Mask,
 3805             Builder.SetInsertPoint(VL0);
 3806           V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3815         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3828         Builder.SetInsertPoint(LI);
 3830         Value *Ptr = Builder.CreateBitCast(LI->getOperand(0), PtrTy);
 3831         LoadInst *V = Builder.CreateAlignedLoad(VecTy, Ptr, LI->getAlignment());
 3836           NewV = Builder.CreateShuffleVector(NewV, UndefValue::get(VecTy), Mask,
 3841           NewV = Builder.CreateShuffleVector(
 3850         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3882       Value *V = Builder.CreateCast(CI->getOpcode(), InVec, VecTy);
 3884         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3906         V = Builder.CreateFCmp(P0, L, R);
 3908         V = Builder.CreateICmp(P0, L, R);
 3912         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3931       Value *V = Builder.CreateSelect(Cond, True, False);
 3933         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3950       Value *V = Builder.CreateUnOp(
 3957         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 3993       Value *V = Builder.CreateBinOp(
 4001         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4021       Value *VecPtr = Builder.CreateBitCast(LI->getPointerOperand(),
 4032       LI = Builder.CreateLoad(VecTy, VecPtr);
 4040         V = Builder.CreateShuffleVector(V, UndefValue::get(V->getType()),
 4045         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4061       Value *VecPtr = Builder.CreateBitCast(ScalarPtr, VecTy->getPointerTo(AS));
 4062       StoreInst *ST = Builder.CreateStore(VecValue, VecPtr);
 4076         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4095       Value *V = Builder.CreateGEP(
 4101         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4141       Value *V = Builder.CreateCall(CF, OpVecs, OpBundles);
 4151         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4183         V0 = Builder.CreateBinOp(
 4185         V1 = Builder.CreateBinOp(
 4188         V0 = Builder.CreateCast(
 4190         V1 = Builder.CreateCast(
 4204           Mask[i] = Builder.getInt32(e + i);
 4207           Mask[i] = Builder.getInt32(i);
 4216       Value *V = Builder.CreateShuffleVector(V0, V1, ShuffleMask);
 4220         V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),
 4246   Builder.SetInsertPoint(&F->getEntryBlock().front());
 4255       Builder.SetInsertPoint(&*++BasicBlock::iterator(I));
 4259     auto *Trunc = Builder.CreateTrunc(VectorRoot, VecTy);
 4272       return Builder.CreateSExt(Ex, ScalarType);
 4273     return Builder.CreateZExt(Ex, ScalarType);
 4292     Value *Lane = Builder.getInt32(ExternalUse.Lane);
 4301         Builder.SetInsertPoint(VecI->getParent(),
 4304         Builder.SetInsertPoint(&F->getEntryBlock().front());
 4306       Value *Ex = Builder.CreateExtractElement(Vec, Lane);
 4326               Builder.SetInsertPoint(VecI->getParent(),
 4329               Builder.SetInsertPoint(PH->getIncomingBlock(i)->getTerminator());
 4331             Value *Ex = Builder.CreateExtractElement(Vec, Lane);
 4338         Builder.SetInsertPoint(cast<Instruction>(User));
 4339         Value *Ex = Builder.CreateExtractElement(Vec, Lane);
 4345       Builder.SetInsertPoint(&F->getEntryBlock().front());
 4346       Value *Ex = Builder.CreateExtractElement(Vec, Lane);
 4386   Builder.ClearInsertionPoint();