Lines Matching defs:DL

32                       const DataLayout &DL) {
33 return Base->getPointerAlignment(DL) >= Alignment;
39 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL,
60 APInt Offset(DL.getIndexTypeSizeInBits(GEP->getType()), 0);
61 if (!GEP->accumulateConstantOffset(DL, Offset) || Offset.isNegative() ||
75 Base, Alignment, Offset + Size.sextOrTrunc(Offset.getBitWidth()), DL,
83 BC->getOperand(0), Alignment, Size, DL, CtxI, AC, DT, TLI,
90 Size, DL, CtxI, AC, DT, TLI,
93 Size, DL, CtxI, AC, DT, TLI,
99 if (!Size.ule(V->getPointerDereferenceableBytes(DL, CheckForNonNull,
104 !isKnownNonZero(V, SimplifyQuery(DL, DT, AC, CtxI)))
123 return isAligned(V, Alignment, DL);
132 return isDereferenceableAndAlignedPointer(RP, Alignment, Size, DL, CtxI,
149 if (getObjectSize(V, ObjSize, DL, TLI, Opts)) {
152 isKnownNonZero(V, SimplifyQuery(DL, DT, AC, CtxI)) &&
158 return isAligned(V, Alignment, DL);
166 Alignment, Size, DL, CtxI, AC, DT,
171 Size, DL, CtxI, AC, DT, TLI,
179 bool IsAligned = V->getPointerAlignment(DL) >= Alignment;
204 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL,
213 return ::isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, AC,
218 const Value *V, Type *Ty, Align Alignment, const DataLayout &DL,
231 APInt AccessSize(DL.getPointerTypeSizeInBits(V->getType()),
232 DL.getTypeStoreSize(Ty));
233 return isDereferenceableAndAlignedPointer(V, Alignment, AccessSize, DL, CtxI,
238 const DataLayout &DL,
243 return isDereferenceableAndAlignedPointer(V, Ty, Align(1), DL, CtxI, AC, DT,
282 auto &DL = LI->getDataLayout();
284 APInt EltSize(DL.getIndexTypeSizeInBits(Ptr->getType()),
285 DL.getTypeStoreSize(LI->getType()).getFixedValue());
291 Ptr, Alignment, EltSize, DL, &*L->getHeader()->getFirstNonPHIIt(), AC,
365 return isDereferenceableAndAlignedPointer(Base, Alignment, AccessSize, DL,
394 const DataLayout &DL,
401 if (isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, AC, DT,
464 TypeSize::isKnownLE(LoadSize, DL.getTypeStoreSize(AccessedTy)))
468 TypeSize::isKnownLE(LoadSize, DL.getTypeStoreSize(AccessedTy)))
475 const DataLayout &DL,
480 TypeSize TySize = DL.getTypeStoreSize(Ty);
483 APInt Size(DL.getIndexTypeSizeInBits(V->getType()), TySize.getFixedValue());
484 return isSafeToLoadUnconditionally(V, Alignment, Size, DL, ScanFrom, AC, DT,
521 const DataLayout &DL) {
522 APInt LoadOffset(DL.getIndexTypeSizeInBits(LoadPtr->getType()), 0);
523 APInt StoreOffset(DL.getIndexTypeSizeInBits(StorePtr->getType()), 0);
525 DL, LoadOffset, /* AllowNonInbounds */ false);
527 DL, StoreOffset, /* AllowNonInbounds */ false);
530 auto LoadAccessSize = LocationSize::precise(DL.getTypeStoreSize(LoadTy));
531 auto StoreAccessSize = LocationSize::precise(DL.getTypeStoreSize(StoreTy));
541 const DataLayout &DL, bool *IsLoadCSE) {
555 if (CastInst::isBitOrNoopPointerCastable(LI->getType(), AccessTy, DL)) {
579 if (CastInst::isBitOrNoopPointerCastable(Val->getType(), AccessTy, DL))
582 TypeSize StoreSize = DL.getTypeSizeInBits(Val->getType());
583 TypeSize LoadSize = DL.getTypeSizeInBits(AccessTy);
586 return ConstantFoldLoadFromConst(C, AccessTy, DL);
608 TypeSize LoadTypeSize = DL.getTypeSizeInBits(AccessTy);
620 if (CastInst::isBitOrNoopPointerCastable(SplatC->getType(), AccessTy, DL))
636 const DataLayout &DL = ScanBB->getDataLayout();
659 AtLeastAtomic, DL, IsLoadCSE))
681 SI->getValueOperand()->getType(), DL))
716 const DataLayout &DL = Load->getDataLayout();
738 AtLeastAtomic, DL, IsLoadCSE);
783 const DataLayout &DL) {
789 isDereferenceablePointer(To, Type::getInt8Ty(To->getContext()), DL))
796 const DataLayout &DL) {
802 if (isPointerAlwaysReplaceable(&*U, To, DL))
808 const DataLayout &DL) {
814 return isPointerAlwaysReplaceable(From, To, DL);