Go to file
John Brawn 9009d2905d [ARM] Fix lowering of misaligned memcpy/memset
Currently getOptimalMemOpType returns i32 for large enough sizes without
checking for alignment, leading to poor code generation when misaligned accesses
aren't permitted as we generate a word store then later split it up into byte
stores. This means we inadvertantly go over the MaxStoresPerMemcpy limit and for
memset we splat the memset value into a word then immediately split it up
again.

Fix this by leaving it up to FindOptimalMemOpLowering to figure out which type
to use, but also fix a bug there where it wasn't correctly checking if
misaligned memory accesses are allowed.

Differential Revision: https://reviews.llvm.org/D33442

llvm-svn: 303990
2017-05-26 13:59:12 +00:00
clang [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element 2017-05-26 13:30:26 +00:00
clang-tools-extra [clangd] Allow to use vfs::FileSystem for file accesses. 2017-05-26 12:26:51 +00:00
compiler-rt [compiler-rt] Replace allow_user_segv_handler=0 with kHandleSignalExclusive 2017-05-25 23:42:33 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Workaround debug info bug in Clangs coroutine implementation 2017-05-26 04:09:38 +00:00
libcxxabi [Demangler] Remove a failing assert introduced in r303718 2017-05-24 20:53:13 +00:00
libunwind [libunwind] Fix executable stack directive on Linux. 2017-05-16 20:18:57 +00:00
lld [ELF] - Follow up for r303975. NFCi. 2017-05-26 12:16:39 +00:00
lldb Fix 32-bit builds 2017-05-26 13:53:39 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm [ARM] Fix lowering of misaligned memcpy/memset 2017-05-26 13:59:12 +00:00
openmp Fix for KMP_AFFINITY=respect with multiple processor groups 2017-05-15 19:05:59 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [Docs] Fix exception name being caught in case ReadTheDocs does not exist. 2017-05-26 12:56:35 +00:00