Lines Matching refs:DL

30                       const DataLayout &DL) {  in isAligned()  argument
31 Align BA = Base->getPointerAlignment(DL); in isAligned()
38 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
59 APInt Offset(DL.getIndexTypeSizeInBits(GEP->getType()), 0); in isDereferenceableAndAlignedPointer()
60 if (!GEP->accumulateConstantOffset(DL, Offset) || Offset.isNegative() || in isDereferenceableAndAlignedPointer()
74 Base, Alignment, Offset + Size.sextOrTrunc(Offset.getBitWidth()), DL, in isDereferenceableAndAlignedPointer()
82 BC->getOperand(0), Alignment, Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer()
89 Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer()
92 Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer()
98 V->getPointerDereferenceableBytes(DL, CheckForNonNull, in isDereferenceableAndAlignedPointer()
103 isKnownNonZero(V, SimplifyQuery(DL, DT, AC, CtxI))) { in isDereferenceableAndAlignedPointer()
107 APInt Offset(DL.getTypeStoreSizeInBits(V->getType()), 0); in isDereferenceableAndAlignedPointer()
108 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
117 return isDereferenceableAndAlignedPointer(RP, Alignment, Size, DL, CtxI, in isDereferenceableAndAlignedPointer()
134 if (getObjectSize(V, ObjSize, DL, TLI, Opts)) { in isDereferenceableAndAlignedPointer()
137 isKnownNonZero(V, SimplifyQuery(DL, DT, AC, CtxI)) && in isDereferenceableAndAlignedPointer()
143 APInt Offset(DL.getTypeStoreSizeInBits(V->getType()), 0); in isDereferenceableAndAlignedPointer()
144 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
152 Alignment, Size, DL, CtxI, AC, DT, in isDereferenceableAndAlignedPointer()
157 Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer()
188 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
197 return ::isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, AC, in isDereferenceableAndAlignedPointer()
202 const Value *V, Type *Ty, Align Alignment, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
215 APInt AccessSize(DL.getPointerTypeSizeInBits(V->getType()), in isDereferenceableAndAlignedPointer()
216 DL.getTypeStoreSize(Ty)); in isDereferenceableAndAlignedPointer()
217 return isDereferenceableAndAlignedPointer(V, Alignment, AccessSize, DL, CtxI, in isDereferenceableAndAlignedPointer()
222 const DataLayout &DL, in isDereferenceablePointer() argument
227 return isDereferenceableAndAlignedPointer(V, Ty, Align(1), DL, CtxI, AC, DT, in isDereferenceablePointer()
266 auto &DL = LI->getDataLayout(); in isDereferenceableAndAlignedInLoop() local
269 APInt EltSize(DL.getIndexTypeSizeInBits(Ptr->getType()), in isDereferenceableAndAlignedInLoop()
270 DL.getTypeStoreSize(LI->getType()).getFixedValue()); in isDereferenceableAndAlignedInLoop()
278 return isDereferenceableAndAlignedPointer(Ptr, Alignment, EltSize, DL, in isDereferenceableAndAlignedInLoop()
344 return isDereferenceableAndAlignedPointer(Base, Alignment, AccessSize, DL, in isDereferenceableAndAlignedInLoop()
360 const DataLayout &DL, in isSafeToLoadUnconditionally() argument
367 if (isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, AC, DT, in isSafeToLoadUnconditionally()
426 TypeSize::isKnownLE(LoadSize, DL.getTypeStoreSize(AccessedTy))) in isSafeToLoadUnconditionally()
430 TypeSize::isKnownLE(LoadSize, DL.getTypeStoreSize(AccessedTy))) in isSafeToLoadUnconditionally()
437 const DataLayout &DL, in isSafeToLoadUnconditionally() argument
442 TypeSize TySize = DL.getTypeStoreSize(Ty); in isSafeToLoadUnconditionally()
445 APInt Size(DL.getIndexTypeSizeInBits(V->getType()), TySize.getFixedValue()); in isSafeToLoadUnconditionally()
446 return isSafeToLoadUnconditionally(V, Alignment, Size, DL, ScanFrom, AC, DT, in isSafeToLoadUnconditionally()
483 const DataLayout &DL) { in areNonOverlapSameBaseLoadAndStore() argument
484 APInt LoadOffset(DL.getIndexTypeSizeInBits(LoadPtr->getType()), 0); in areNonOverlapSameBaseLoadAndStore()
485 APInt StoreOffset(DL.getIndexTypeSizeInBits(StorePtr->getType()), 0); in areNonOverlapSameBaseLoadAndStore()
487 DL, LoadOffset, /* AllowNonInbounds */ false); in areNonOverlapSameBaseLoadAndStore()
489 DL, StoreOffset, /* AllowNonInbounds */ false); in areNonOverlapSameBaseLoadAndStore()
492 auto LoadAccessSize = LocationSize::precise(DL.getTypeStoreSize(LoadTy)); in areNonOverlapSameBaseLoadAndStore()
493 auto StoreAccessSize = LocationSize::precise(DL.getTypeStoreSize(StoreTy)); in areNonOverlapSameBaseLoadAndStore()
503 const DataLayout &DL, bool *IsLoadCSE) { in getAvailableLoadStore() argument
517 if (CastInst::isBitOrNoopPointerCastable(LI->getType(), AccessTy, DL)) { in getAvailableLoadStore()
541 if (CastInst::isBitOrNoopPointerCastable(Val->getType(), AccessTy, DL)) in getAvailableLoadStore()
544 TypeSize StoreSize = DL.getTypeSizeInBits(Val->getType()); in getAvailableLoadStore()
545 TypeSize LoadSize = DL.getTypeSizeInBits(AccessTy); in getAvailableLoadStore()
548 return ConstantFoldLoadFromConst(C, AccessTy, DL); in getAvailableLoadStore()
570 TypeSize LoadTypeSize = DL.getTypeSizeInBits(AccessTy); in getAvailableLoadStore()
582 if (CastInst::isBitOrNoopPointerCastable(SplatC->getType(), AccessTy, DL)) in getAvailableLoadStore()
598 const DataLayout &DL = ScanBB->getDataLayout(); in findAvailablePtrLoadStore() local
621 AtLeastAtomic, DL, IsLoadCSE)) in findAvailablePtrLoadStore()
643 SI->getValueOperand()->getType(), DL)) in findAvailablePtrLoadStore()
678 const DataLayout &DL = Load->getDataLayout(); in FindAvailableLoadedValue() local
700 AtLeastAtomic, DL, IsLoadCSE); in FindAvailableLoadedValue()
745 const DataLayout &DL) { in isPointerAlwaysReplaceable() argument
751 isDereferenceablePointer(To, Type::getInt8Ty(To->getContext()), DL)) in isPointerAlwaysReplaceable()
758 const DataLayout &DL) { in canReplacePointersInUseIfEqual() argument
764 if (isPointerAlwaysReplaceable(&*U, To, DL)) in canReplacePointersInUseIfEqual()
770 const DataLayout &DL) { in canReplacePointersIfEqual() argument
776 return isPointerAlwaysReplaceable(From, To, DL); in canReplacePointersIfEqual()