diff options
author | Artur Pilipenko <apilipenko@azulsystems.com> | 2016-01-17 12:35:29 +0000 |
---|---|---|
committer | Artur Pilipenko <apilipenko@azulsystems.com> | 2016-01-17 12:35:29 +0000 |
commit | f84dc06e5b4ba4f96fb6ef24b2df848c512f41d6 (patch) | |
tree | ef60cf0b47410ba11641cd6ca9e56c9f3b070dc6 /llvm/lib/Analysis/Loads.cpp | |
parent | e1f273d900b004ac1d1331794079973f8949e78f (diff) | |
download | llvm-f84dc06e5b4ba4f96fb6ef24b2df848c512f41d6.zip llvm-f84dc06e5b4ba4f96fb6ef24b2df848c512f41d6.tar.gz llvm-f84dc06e5b4ba4f96fb6ef24b2df848c512f41d6.tar.bz2 |
Push isDereferenceableAndAlignedPointer down into isSafeToLoadUnconditionally
Reviewed By: reames
Differential Revision: http://reviews.llvm.org/D16226
llvm-svn: 258010
Diffstat (limited to 'llvm/lib/Analysis/Loads.cpp')
-rw-r--r-- | llvm/lib/Analysis/Loads.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/Loads.cpp b/llvm/lib/Analysis/Loads.cpp index bad745a..5b2113a 100644 --- a/llvm/lib/Analysis/Loads.cpp +++ b/llvm/lib/Analysis/Loads.cpp @@ -71,6 +71,9 @@ bool llvm::isSafeToLoadUnconditionally(Value *V, unsigned Align, Align = DL.getABITypeAlignment(V->getType()->getPointerElementType()); assert(isPowerOf2_32(Align)); + if (isDereferenceableAndAlignedPointer(V, Align, DL)) + return true; + int64_t ByteOffset = 0; Value *Base = V; Base = GetPointerBaseWithConstantOffset(V, ByteOffset, DL); |