llvm-project/llvm/test
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
..
Analysis Re-enable "[SCEV] Do not fold dominated SCEVUnknown into AddRecExpr start" 2017-05-26 06:47:04 +00:00
Assembler [IR] Allow attributes with global variables 2017-05-11 12:28:08 +00:00
Bindings
Bitcode Add "REQUIRES:" to the last few tests that use target specific intrinsics 2017-05-15 22:15:22 +00:00
BugPoint llvm/test/BugPoint/compile-custom.ll: Use %/s for its path not to be mis-escaped. 2017-04-13 11:40:32 +00:00
CodeGen [ARM] Fix lowering of misaligned memcpy/memset 2017-05-26 13:59:12 +00:00
DebugInfo Fix test to handle running on platforms which don't enable pubnames at all 2017-05-25 22:10:51 +00:00
Examples
ExecutionEngine [RuntimeDyld, PowerPC] Fix check for external symbols when detecting reloction overflow 2017-05-23 14:51:18 +00:00
Feature Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
FileCheck
Instrumentation Fix coverage check for full post-dominator basic blocks. 2017-05-25 01:41:46 +00:00
Integer
JitListener
LTO LTO: Do summary-based prevailing symbol resolution at --lto-O0. 2017-05-25 23:40:11 +00:00
LibDriver
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
MC The fix for PR22004: X86AsmParser.cpp asserts: OperandStack.size() > 1 && "Too few operands." 2017-05-26 13:23:34 +00:00
Object Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
ObjectYAML [WebAssembly] Improve libObject support for wasm imports and exports 2017-05-09 23:48:41 +00:00
Other [PM] Enable the new simple loop unswitch pass in the new pass manager 2017-05-26 01:24:11 +00:00
SymbolRewriter
TableGen [globalisel][tablegen] Add support for (set $dst, 1) and test X86's OptForSize predicate. 2017-05-23 19:33:16 +00:00
ThinLTO/X86 [ThinLTO] Do not assert when adding a module with a different but 2017-05-18 03:52:29 +00:00
Transforms Re-enable "[SCEV] Do not fold dominated SCEVUnknown into AddRecExpr start" 2017-05-26 06:47:04 +00:00
Unit [Lit] Fix to prevent creation of "%SystemDrive%" directory on Windows. 2017-05-08 08:55:38 +00:00
Verifier Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
YAMLParser
tools Print symbols from COFF import libraries. 2017-05-24 23:40:36 +00:00
.clang-format
CMakeLists.txt Add a dependency from llvm/test to llvm-cvtres. 2017-04-21 20:45:11 +00:00
TestRunner.sh
lit.cfg
lit.site.cfg.in