[PATCH] D33442: [ARM] Fix lowering of misaligned memcpy/memset

John Brawn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 23 07:40:33 PDT 2017


john.brawn created this revision.
Herald added subscribers: eraman, javed.absar, wdng, aemerson.

Currently getOptimalMemOpType returns i32 for large enough sizes without checking for alignment, leading to bad code generation when misaligned accesses aren't permitted. 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.


Repository:
  rL LLVM

https://reviews.llvm.org/D33442

Files:
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  test/CodeGen/ARM/memcpy-inline.ll
  test/CodeGen/ARM/memset-inline.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33442.99908.patch
Type: text/x-patch
Size: 6145 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170523/f1cbd908/attachment.bin>


More information about the llvm-commits mailing list