Lines Matching refs:Alignment
29 static bool isAligned(const Value *Base, const APInt &Offset, Align Alignment, in isAligned() argument
32 return BA >= Alignment && Offset.isAligned(BA); in isAligned()
38 const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
61 !Offset.urem(APInt(Offset.getBitWidth(), Alignment.value())) 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()
88 return isDereferenceableAndAlignedPointer(Sel->getTrueValue(), Alignment, in isDereferenceableAndAlignedPointer()
91 isDereferenceableAndAlignedPointer(Sel->getFalseValue(), Alignment, in isDereferenceableAndAlignedPointer()
108 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
117 return isDereferenceableAndAlignedPointer(RP, Alignment, Size, DL, CtxI, in isDereferenceableAndAlignedPointer()
144 return isAligned(V, Offset, Alignment, DL); in isDereferenceableAndAlignedPointer()
152 Alignment, Size, DL, CtxI, AC, DT, in isDereferenceableAndAlignedPointer()
156 return isDereferenceableAndAlignedPointer(ASC->getOperand(0), Alignment, in isDereferenceableAndAlignedPointer()
166 V, {Attribute::Dereferenceable, Attribute::Alignment}, AC, in isDereferenceableAndAlignedPointer()
170 if (RK.AttrKind == Attribute::Alignment) in isDereferenceableAndAlignedPointer()
174 if (AlignRK && DerefRK && AlignRK.ArgValue >= Alignment.value() && 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
217 return isDereferenceableAndAlignedPointer(V, Alignment, AccessSize, DL, CtxI, in isDereferenceableAndAlignedPointer()
271 const Align Alignment = LI->getAlign(); in isDereferenceableAndAlignedInLoop() local
278 return isDereferenceableAndAlignedPointer(Ptr, Alignment, EltSize, DL, in isDereferenceableAndAlignedInLoop()
326 if (Offset->getAPInt().urem(Alignment.value()) != 0) in isDereferenceableAndAlignedInLoop()
342 if (EltSize.urem(Alignment.value()) != 0) in isDereferenceableAndAlignedInLoop()
344 return isDereferenceableAndAlignedPointer(Base, Alignment, AccessSize, DL, in isDereferenceableAndAlignedInLoop()
359 bool llvm::isSafeToLoadUnconditionally(Value *V, Align Alignment, const APInt &Size, in isSafeToLoadUnconditionally() argument
367 if (isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, AC, DT, in isSafeToLoadUnconditionally()
421 if (AccessedAlign < Alignment) in isSafeToLoadUnconditionally()
436 bool llvm::isSafeToLoadUnconditionally(Value *V, Type *Ty, Align Alignment, in isSafeToLoadUnconditionally() argument
446 return isSafeToLoadUnconditionally(V, Alignment, Size, DL, ScanFrom, AC, DT, in isSafeToLoadUnconditionally()