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

References

lib/Transforms/Scalar/SROA.cpp
 2372     IRB.SetInsertPoint(OldUserI);
 2373     IRB.SetCurrentDebugLocation(OldUserI->getDebugLoc());
 2374     IRB.SetNamePrefix(Twine(NewAI.getName()) + "." + Twine(BeginOffset) + ".");
 2464     Value *V = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2466     return extractVector(IRB, V, BeginIndex, EndIndex, "vec");
 2472     Value *V = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2474     V = convertValue(DL, IRB, V, IntTy);
 2479       V = extractInteger(DL, IRB, V, ExtractTy, Offset, "extract");
 2489       V = IRB.CreateZExt(V, LI.getType());
 2517       LoadInst *NewLI = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2547             V = IRB.CreateZExt(V, TITy, "load.ext");
 2549               V = IRB.CreateShl(V, TITy->getBitWidth() - AITy->getBitWidth(),
 2554       LoadInst *NewLI = IRB.CreateAlignedLoad(
 2555           TargetTy, getNewAllocaSlicePtr(IRB, LTy), getSliceAlign(TargetTy),
 2565     V = convertValue(DL, IRB, V, TargetTy);
 2576       IRB.SetInsertPoint(&*std::next(BasicBlock::iterator(&LI)));
 2583       V = insertInteger(DL, IRB, Placeholder, V, NewBeginOffset - BeginOffset,
 2610         V = convertValue(DL, IRB, V, SliceTy);
 2613       Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2615       V = insertVector(IRB, Old, V, BeginIndex, "vec");
 2617     StoreInst *Store = IRB.CreateAlignedStore(V, &NewAI, NewAI.getAlignment());
 2630       Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2632       Old = convertValue(DL, IRB, Old, IntTy);
 2635       V = insertInteger(DL, IRB, Old, SI.getValueOperand(), Offset, "insert");
 2637     V = convertValue(DL, IRB, V, NewAllocaTy);
 2638     StoreInst *Store = IRB.CreateAlignedStore(V, &NewAI, NewAI.getAlignment());
 2671       V = extractInteger(DL, IRB, V, NarrowTy, NewBeginOffset - BeginOffset,
 2694               V = IRB.CreateLShr(V, VITy->getBitWidth() - AITy->getBitWidth(),
 2696             V = IRB.CreateTrunc(V, AITy, "load.trunc");
 2699       V = convertValue(DL, IRB, V, NewAllocaTy);
 2700       NewSI = IRB.CreateAlignedStore(V, &NewAI, NewAI.getAlignment(),
 2704       Value *NewPtr = getNewAllocaSlicePtr(IRB, V->getType()->getPointerTo(AS));
 2705       NewSI = IRB.CreateAlignedStore(V, NewPtr, getSliceAlign(V->getType()),
 2738     V = IRB.CreateMul(
 2739         IRB.CreateZExt(V, SplatIntTy, "zext"),
 2750     V = IRB.CreateVectorSplat(NumElements, V, "vsplat");
 2767       II.setDest(getNewAllocaSlicePtr(IRB, OldPtr->getType()));
 2801       CallInst *New = IRB.CreateMemSet(
 2802           getNewAllocaSlicePtr(IRB, OldPtr->getType()), II.getValue(), Size,
 2829       Splat = convertValue(DL, IRB, Splat, ElementTy);
 2833       Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2835       V = insertVector(IRB, Old, Splat, BeginIndex, "vec");
 2846         Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 2848         Old = convertValue(DL, IRB, Old, IntTy);
 2850         V = insertInteger(DL, IRB, Old, V, Offset, "insert");
 2855       V = convertValue(DL, IRB, V, AllocaTy);
 2865       V = convertValue(DL, IRB, V, AllocaTy);
 2868     StoreInst *New = IRB.CreateAlignedStore(V, &NewAI, NewAI.getAlignment(),
 2899       Value *AdjustedPtr = getNewAllocaSlicePtr(IRB, OldPtr->getType());
 2967       OtherPtr = getAdjustedPtr(IRB, DL, OtherPtr, OtherOffset, OtherPtrTy,
 2970       Value *OurPtr = getNewAllocaSlicePtr(IRB, OldPtr->getType());
 2988       CallInst *New = IRB.CreateMemCpy(DestPtr, DestAlign, SrcPtr, SrcAlign,
 3020     Value *SrcPtr = getAdjustedPtr(IRB, DL, OtherPtr, OtherOffset, OtherPtrTy,
 3032       Src = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 3034       Src = extractVector(IRB, Src, BeginIndex, EndIndex, "vec");
 3036       Src = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 3038       Src = convertValue(DL, IRB, Src, IntTy);
 3040       Src = extractInteger(DL, IRB, Src, SubIntTy, Offset, "extract");
 3042       LoadInst *Load = IRB.CreateAlignedLoad(OtherTy, SrcPtr, SrcAlign,
 3050       Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 3052       Src = insertVector(IRB, Old, Src, BeginIndex, "vec");
 3054       Value *Old = IRB.CreateAlignedLoad(NewAI.getAllocatedType(), &NewAI,
 3056       Old = convertValue(DL, IRB, Old, IntTy);
 3058       Src = insertInteger(DL, IRB, Old, Src, Offset, "insert");
 3059       Src = convertValue(DL, IRB, Src, NewAllocaTy);
 3063         IRB.CreateAlignedStore(Src, DstPtr, DstAlign, II.isVolatile()));
 3094     Type *PointerTy = IRB.getInt8PtrTy(OldPtr->getType()->getPointerAddressSpace());
 3095     Value *Ptr = getNewAllocaSlicePtr(IRB, PointerTy);
 3098       New = IRB.CreateLifetimeStart(Ptr, Size);
 3100       New = IRB.CreateLifetimeEnd(Ptr, Size);
 3154     IRBuilderTy PtrBuilder(IRB);
 3185     Value *NewPtr = getNewAllocaSlicePtr(IRB, OldPtr->getType());