Lines Matching refs:Align
28 static bool isAligned(const Value *Base, const APInt &Offset, unsigned Align, in isAligned() argument
39 APInt Alignment(Offset.getBitWidth(), Align); in isAligned()
45 static bool isAligned(const Value *Base, unsigned Align, const DataLayout &DL) { in isAligned() argument
49 return isAligned(Base, Offset, Align, DL); in isAligned()
55 const Value *V, unsigned Align, const APInt &Size, const DataLayout &DL, in isDereferenceableAndAlignedPointer() argument
67 return isDereferenceableAndAlignedPointer(BC->getOperand(0), Align, Size, in isDereferenceableAndAlignedPointer()
76 return isAligned(V, Align, DL); in isDereferenceableAndAlignedPointer()
85 !Offset.urem(APInt(Offset.getBitWidth(), Align)).isMinValue()) in isDereferenceableAndAlignedPointer()
97 Base, Align, Offset + Size.sextOrTrunc(Offset.getBitWidth()), in isDereferenceableAndAlignedPointer()
104 RelocateInst->getDerivedPtr(), Align, Size, DL, CtxI, DT, Visited); in isDereferenceableAndAlignedPointer()
107 return isDereferenceableAndAlignedPointer(ASC->getOperand(0), Align, Size, in isDereferenceableAndAlignedPointer()
112 return isDereferenceableAndAlignedPointer(RP, Align, Size, DL, CtxI, DT, in isDereferenceableAndAlignedPointer()
119 bool llvm::isDereferenceableAndAlignedPointer(const Value *V, unsigned Align, in isDereferenceableAndAlignedPointer() argument
125 return ::isDereferenceableAndAlignedPointer(V, Align, Size, DL, CtxI, DT, in isDereferenceableAndAlignedPointer()
129 bool llvm::isDereferenceableAndAlignedPointer(const Value *V, unsigned Align, in isDereferenceableAndAlignedPointer() argument
141 if (Align == 0) in isDereferenceableAndAlignedPointer()
142 Align = DL.getABITypeAlignment(Ty); in isDereferenceableAndAlignedPointer()
149 V, Align, APInt(DL.getIndexTypeSizeInBits(VTy), DL.getTypeStoreSize(Ty)), DL, in isDereferenceableAndAlignedPointer()
201 bool llvm::isSafeToLoadUnconditionally(Value *V, unsigned Align, in isSafeToLoadUnconditionally() argument
206 if (Align == 0) in isSafeToLoadUnconditionally()
207 Align = DL.getABITypeAlignment(V->getType()->getPointerElementType()); in isSafeToLoadUnconditionally()
208 assert(isPowerOf2_32(Align)); in isSafeToLoadUnconditionally()
212 if (isDereferenceableAndAlignedPointer(V, Align, DL, CtxI, DT)) in isSafeToLoadUnconditionally()
249 if (Align <= BaseAlign) { in isSafeToLoadUnconditionally()
252 ((ByteOffset % Align) == 0)) in isSafeToLoadUnconditionally()
295 if (AccessedAlign < Align) in isSafeToLoadUnconditionally()