Check alignment of loads when deciding whether it is safe to execute them
authorBob Wilson <bob.wilson@apple.com>
Sat, 30 Jan 2010 04:42:39 +0000 (04:42 +0000)
committerBob Wilson <bob.wilson@apple.com>
Sat, 30 Jan 2010 04:42:39 +0000 (04:42 +0000)
commit49db68fba01722ca032dc5170f8248a9d25f0199
tree575e1422b433c1028bda1df8331249b35730b54d
parenta6bff982c10f6f19c0a9ba20a6300201449c5f39
Check alignment of loads when deciding whether it is safe to execute them
unconditionally.  Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94875 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/Local.h
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/TailRecursionElimination.cpp
lib/Transforms/Utils/Local.cpp
test/Transforms/GVN/load-pre-align.ll [new file with mode: 0644]