aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2015-05-08 13:47:01 +0000
committerJames Y Knight <jyknight@google.com>2015-05-08 13:47:01 +0000
commit284e7b3d6c5a285fc826aa4c51b5ae0f03282c5c (patch)
treec13a63b0a291e2d02abb612d4f9d4b9c0877df92 /clang/lib/CodeGen/CodeGenModule.cpp
parent9d3932bf967214c15161c26380dbfb99f50fe2a7 (diff)
downloadllvm-284e7b3d6c5a285fc826aa4c51b5ae0f03282c5c.zip
llvm-284e7b3d6c5a285fc826aa4c51b5ae0f03282c5c.tar.gz
llvm-284e7b3d6c5a285fc826aa4c51b5ae0f03282c5c.tar.bz2
Fix alignment checks in MergeConsecutiveStores.
1) check whether the alignment of the memory is sufficient for the *merged* store or load to be efficient. Not doing so can result in some ridiculously poor code generation, if merging creates a vector operation which must be aligned but isn't. 2) DON'T check that the alignment of each load/store is equal. If you're merging 2 4-byte stores, the first *might* have 8-byte alignment, but the second certainly will have 4-byte alignment. We do want to allow those to be merged. llvm-svn: 236850
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions