1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test
James Molloy 98866e3fe1 [ARM] Transform LDMs into writeback form to save code size
If we have an LDM that uses only low registers and doesn't write to its base register:

  ldm.w r0, {r1, r2, r3}

And that base register is dead after the LDM, then we can convert it to writeback form and use a narrow encoding:

  ldm.n r0!, {r1, r2, r3}

Obviously, this introduces a new register write and so can cause WAW hazards, so I've enabled it only in minsize mode. This is a code size trick that ARM Compiler 5 ("armcc") does that we don't.

llvm-svn: 272000
2016-06-07 11:47:24 +00:00
..
Analysis Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
Assembler
Bindings
Bitcode [BitCode] Make sure atomicrmw's argument is an actual PointerType 2016-06-05 18:43:40 +00:00
BugPoint
CodeGen [ARM] Transform LDMs into writeback form to save code size 2016-06-07 11:47:24 +00:00
DebugInfo Re-land "[codeview] Emit information about global variables" 2016-06-07 00:02:03 +00:00
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation [esan|wset] Optionally assume intra-cache-line accesses 2016-06-03 22:29:52 +00:00
Integer
JitListener
LibDriver
Linker
LTO
MC [ARM] Incorrect relocation type for Thumb2 B<cond>.w 2016-06-07 10:34:33 +00:00
Object
ObjectYAML [yaml2obj] Sort MachO LinkEdit write operations based on offset 2016-06-03 16:58:05 +00:00
Other
SymbolRewriter
TableGen
ThinLTO/X86
tools [llvm-readobj] - Teach llvm-readobj to dump .gnu.version_r sections 2016-06-07 11:04:49 +00:00
Transforms [InstCombine][AVX2] Add support for simplifying AVX2 per-element shifts to native shifts 2016-06-07 10:27:15 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh