• Home
  • Raw
  • Download

Lines Matching refs:DL

33                       const DataLayout &DL) {  in isAligned()  argument
34 Align BA = Base->getPointerAlignment(DL); in isAligned()
43 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
63 BC->getOperand(0), Alignment, Size, DL, CtxI, DT, Visited, MaxDepth); in isDereferenceableAndAlignedPointer()
68 V->getPointerDereferenceableBytes(DL, CheckForNonNull)); in isDereferenceableAndAlignedPointer()
70 if (!CheckForNonNull || isKnownNonZero(V, DL, 0, nullptr, CtxI, DT)) { in isDereferenceableAndAlignedPointer()
76 APInt Offset(DL.getTypeStoreSizeInBits(Ty), 0); in isDereferenceableAndAlignedPointer()
77 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
84 APInt Offset(DL.getIndexTypeSizeInBits(GEP->getType()), 0); in isDereferenceableAndAlignedPointer()
85 if (!GEP->accumulateConstantOffset(DL, Offset) || Offset.isNegative() || in isDereferenceableAndAlignedPointer()
99 Base, Alignment, Offset + Size.sextOrTrunc(Offset.getBitWidth()), DL, in isDereferenceableAndAlignedPointer()
106 RelocateInst->getDerivedPtr(), Alignment, Size, DL, CtxI, DT, Visited, MaxDepth); in isDereferenceableAndAlignedPointer()
110 Size, DL, CtxI, DT, Visited, MaxDepth); in isDereferenceableAndAlignedPointer()
114 return isDereferenceableAndAlignedPointer(RP, Alignment, Size, DL, CtxI, in isDereferenceableAndAlignedPointer()
132 if (getObjectSize(V, ObjSize, DL, nullptr, Opts)) { in isDereferenceableAndAlignedPointer()
135 isKnownNonZero(V, DL, 0, nullptr, CtxI, DT) && in isDereferenceableAndAlignedPointer()
150 APInt Offset(DL.getTypeStoreSizeInBits(Ty), 0); in isDereferenceableAndAlignedPointer()
151 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
162 const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
171 return ::isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, DT, in isDereferenceableAndAlignedPointer()
177 const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
191 const Align Alignment = DL.getValueOrABITypeAlignment(MA, Ty); in isDereferenceableAndAlignedPointer()
192 APInt AccessSize(DL.getPointerTypeSizeInBits(V->getType()), in isDereferenceableAndAlignedPointer()
193 DL.getTypeStoreSize(Ty)); in isDereferenceableAndAlignedPointer()
194 return isDereferenceableAndAlignedPointer(V, Alignment, AccessSize, DL, CtxI, in isDereferenceableAndAlignedPointer()
199 const DataLayout &DL, in isDereferenceablePointer() argument
202 return isDereferenceableAndAlignedPointer(V, Ty, Align(1), DL, CtxI, DT); in isDereferenceablePointer()
239 auto &DL = LI->getModule()->getDataLayout(); in isDereferenceableAndAlignedInLoop() local
242 APInt EltSize(DL.getIndexTypeSizeInBits(Ptr->getType()), in isDereferenceableAndAlignedInLoop()
243 DL.getTypeStoreSize(LI->getType()).getFixedSize()); in isDereferenceableAndAlignedInLoop()
251 return isDereferenceableAndAlignedPointer(Ptr, Alignment, EltSize, DL, in isDereferenceableAndAlignedInLoop()
283 return isDereferenceableAndAlignedPointer(Base, Alignment, AccessSize, DL, in isDereferenceableAndAlignedInLoop()
299 const DataLayout &DL, in isSafeToLoadUnconditionally() argument
304 if (isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, DT)) in isSafeToLoadUnconditionally()
362 LoadSize <= DL.getTypeStoreSize(AccessedTy)) in isSafeToLoadUnconditionally()
366 LoadSize <= DL.getTypeStoreSize(AccessedTy)) in isSafeToLoadUnconditionally()
373 const DataLayout &DL, in isSafeToLoadUnconditionally() argument
376 APInt Size(DL.getIndexTypeSizeInBits(V->getType()), DL.getTypeStoreSize(Ty)); in isSafeToLoadUnconditionally()
377 return isSafeToLoadUnconditionally(V, Alignment, Size, DL, ScanFrom, DT); in isSafeToLoadUnconditionally()
411 const DataLayout &DL) { in AreNonOverlapSameBaseLoadAndStore() argument
412 APInt LoadOffset(DL.getTypeSizeInBits(LoadPtr->getType()), 0); in AreNonOverlapSameBaseLoadAndStore()
413 APInt StoreOffset(DL.getTypeSizeInBits(StorePtr->getType()), 0); in AreNonOverlapSameBaseLoadAndStore()
415 DL, LoadOffset, /* AllowNonInbounds */ false); in AreNonOverlapSameBaseLoadAndStore()
417 DL, StoreOffset, /* AllowNonInbounds */ false); in AreNonOverlapSameBaseLoadAndStore()
420 auto LoadAccessSize = LocationSize::precise(DL.getTypeStoreSize(LoadTy)); in AreNonOverlapSameBaseLoadAndStore()
421 auto StoreAccessSize = LocationSize::precise(DL.getTypeStoreSize(StoreTy)); in AreNonOverlapSameBaseLoadAndStore()
438 const DataLayout &DL = ScanBB->getModule()->getDataLayout(); in FindAvailablePtrLoadStore() local
465 CastInst::isBitOrNoopPointerCastable(LI->getType(), AccessTy, DL)) { in FindAvailablePtrLoadStore()
478 auto AccessSize = LocationSize::precise(DL.getTypeStoreSize(AccessTy)); in FindAvailablePtrLoadStore()
487 AccessTy, DL)) { in FindAvailablePtrLoadStore()
514 SI->getValueOperand()->getType(), DL)) in FindAvailablePtrLoadStore()
546 bool llvm::canReplacePointersIfEqual(Value *A, Value *B, const DataLayout &DL, in canReplacePointersIfEqual() argument
558 APInt OneByte(DL.getPointerTypeSizeInBits(Ty), 1); in canReplacePointersIfEqual()
560 isDereferenceableAndAlignedPointer(B, Align(1), OneByte, DL, CtxI); in canReplacePointersIfEqual()