Lines Matching defs:Builder
90 IRBuilder<> &Builder);
95 GetElementPtrInst *GEP, IRBuilder<> &Builder);
110 IRBuilder<> &Builder);
113 IRBuilder<> &Builder,
117 IRBuilder<> &Builder,
123 IRBuilder<> &Builder);
126 IRBuilder<> &Builder,
130 IRBuilder<> &Builder,
136 IRBuilder<> &Builder);
142 IRBuilder<> &Builder);
148 IRBuilder<> &Builder);
156 IRBuilder<> &Builder);
229 IRBuilder<> &Builder) {
231 if (Value *V = decomposeGEP(Offsets, Ty, GEP, Builder)) {
245 Value *Zero = ConstantInt::get(Builder.getInt32Ty(), 0);
246 Value *BasePtr = Builder.CreateIntToPtr(Zero, Builder.getPtrTy());
247 Offsets = Builder.CreatePtrToInt(
248 Ptr, FixedVectorType::get(Builder.getInt32Ty(), 4));
256 IRBuilder<> &Builder) {
299 Offsets = Builder.CreateTrunc(Offsets, Ty);
301 Offsets = Builder.CreateZExt(Offsets, VectorType::getInteger(Ty));
420 IRBuilder<> Builder(I->getContext());
421 Builder.SetInsertPoint(I);
422 Builder.SetCurrentDebugLocation(I->getDebugLoc());
426 Instruction *Load = tryCreateIncrementingGatScat(I, Ptr, Builder);
428 Load = tryCreateMaskedGatherOffset(I, Ptr, Root, Builder);
430 Load = tryCreateMaskedGatherBase(I, Ptr, Builder);
438 Builder.Insert(Load);
454 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder, int64_t Increment) {
463 return Builder.CreateIntrinsic(Intrinsic::arm_mve_vldr_gather_base,
465 {Ptr, Builder.getInt32(Increment)});
467 return Builder.CreateIntrinsic(
470 {Ptr, Builder.getInt32(Increment), Mask});
474 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder, int64_t Increment) {
484 return Builder.CreateIntrinsic(Intrinsic::arm_mve_vldr_gather_base_wb,
486 {Ptr, Builder.getInt32(Increment)});
488 return Builder.CreateIntrinsic(
491 {Ptr, Builder.getInt32(Increment), Mask});
495 IntrinsicInst *I, Value *Ptr, Instruction *&Root, IRBuilder<> &Builder) {
550 Ptr, Offsets, Scale, cast<FixedVectorType>(ResultTy), MemoryTy, Builder);
558 Load = Builder.CreateIntrinsic(
561 {BasePtr, Offsets, Builder.getInt32(MemoryTy->getScalarSizeInBits()),
562 Builder.getInt32(Scale), Builder.getInt32(Unsigned), Mask});
564 Load = Builder.CreateIntrinsic(
567 {BasePtr, Offsets, Builder.getInt32(MemoryTy->getScalarSizeInBits()),
568 Builder.getInt32(Scale), Builder.getInt32(Unsigned)});
572 Builder.Insert(Load);
597 IRBuilder<> Builder(I->getContext());
598 Builder.SetInsertPoint(I);
599 Builder.SetCurrentDebugLocation(I->getDebugLoc());
601 Instruction *Store = tryCreateIncrementingGatScat(I, Ptr, Builder);
603 Store = tryCreateMaskedScatterOffset(I, Ptr, Builder);
605 Store = tryCreateMaskedScatterBase(I, Ptr, Builder);
616 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder, int64_t Increment) {
629 return Builder.CreateIntrinsic(Intrinsic::arm_mve_vstr_scatter_base,
631 {Ptr, Builder.getInt32(Increment), Input});
633 return Builder.CreateIntrinsic(
636 {Ptr, Builder.getInt32(Increment), Input, Mask});
640 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder, int64_t Increment) {
651 return Builder.CreateIntrinsic(Intrinsic::arm_mve_vstr_scatter_base_wb,
653 {Ptr, Builder.getInt32(Increment), Input});
655 return Builder.CreateIntrinsic(
658 {Ptr, Builder.getInt32(Increment), Input, Mask});
662 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder) {
703 Ptr, Offsets, Scale, cast<FixedVectorType>(InputTy), MemoryTy, Builder);
708 Input = Builder.CreateZExt(Input, InputTy);
710 return Builder.CreateIntrinsic(
715 Builder.getInt32(MemoryTy->getScalarSizeInBits()),
716 Builder.getInt32(Scale), Mask});
718 return Builder.CreateIntrinsic(
722 Builder.getInt32(MemoryTy->getScalarSizeInBits()),
723 Builder.getInt32(Scale)});
727 IntrinsicInst *I, Value *Ptr, IRBuilder<> &Builder) {
745 Value *BasePtr = decomposeGEP(Offsets, Ty, GEP, Builder);
766 TypeScale, Builder))
782 Builder.CreateVectorSplat(Ty->getNumElements(),
783 Builder.getInt32(TypeScale)),
788 Builder.CreateVectorSplat(
790 Builder.CreatePtrToInt(
796 return tryCreateMaskedGatherBase(I, OffsetsIncoming, Builder, Immediate);
798 return tryCreateMaskedScatterBase(I, OffsetsIncoming, Builder, Immediate);
803 IRBuilder<> &Builder) {
833 Builder.SetInsertPoint(&Phi->getIncomingBlock(1 - IncrementIndex)->back());
840 Builder.CreateVectorSplat(NumElems, Builder.getInt32(TypeScale)),
846 Builder.CreateVectorSplat(
848 Builder.CreatePtrToInt(
856 Builder.CreateVectorSplat(NumElems, Builder.getInt32(Immediate)),
861 Builder.SetInsertPoint(I);
867 Value *Load = tryCreateMaskedGatherBaseWB(I, Phi, Builder, Immediate);
872 Builder.Insert(EndResult);
873 Builder.Insert(NewInduction);
877 tryCreateMaskedScatterBaseWB(I, Phi, Builder, Immediate);
911 IRBuilder<> &Builder) {
1080 IRBuilder<> Builder(BB->getContext());
1081 Builder.SetInsertPoint(Phi);
1082 Builder.SetCurrentDebugLocation(Offs->getDebugLoc());
1092 OffsSecondOperand, IncrementingBlock, Builder);
1113 unsigned ScaleY, IRBuilder<> &Builder) {
1117 auto FixSummands = [&Builder](FixedVectorType *&VT, Value *&NonVectorVal) {
1124 NonVectorVal = Builder.CreateVectorSplat(
1125 VT->getNumElements(), Builder.getIntN(TargetElemSize, N));
1130 Builder.CreateVectorSplat(VT->getNumElements(), NonVectorVal);
1172 Value *XScale = Builder.CreateVectorSplat(
1174 Builder.getIntN(XElType->getScalarSizeInBits(), ScaleX));
1175 Value *YScale = Builder.CreateVectorSplat(
1177 Builder.getIntN(YElType->getScalarSizeInBits(), ScaleY));
1178 Value *Add = Builder.CreateAdd(Builder.CreateMul(X, XScale),
1179 Builder.CreateMul(Y, YScale));
1189 IRBuilder<> &Builder) {
1199 Value *BaseBasePtr = foldGEP(BaseGEP, Offsets, Scale, Builder);
1204 DL->getTypeAllocSize(GEP->getSourceElementType()), Builder);
1220 IRBuilder<> Builder(GEP->getContext());
1221 Builder.SetInsertPoint(GEP);
1222 Builder.SetCurrentDebugLocation(GEP->getDebugLoc());
1225 Value *Base = foldGEP(GEP, Offsets, Scale, Builder);
1232 Type *BaseTy = Builder.getPtrTy();
1236 Builder.getInt8Ty(), Builder.CreateBitCast(Base, BaseTy), Offsets,
1241 Builder.CreateBitCast(NewAddress, GEP->getType()));