diff options
author | James Molloy <james.molloy@arm.com> | 2016-06-07 11:47:24 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2016-06-07 11:47:24 +0000 |
commit | 75afc95112d2f01e898d713f49b338bdd5819aca (patch) | |
tree | 511909e6d6ed2efd60ed018fb15d8e5617bf363a /lldb/packages/Python/lldbsuite/test/python_api/frame/main.c | |
parent | 376edcac0783d9826fce8f62db3f0ced7add3986 (diff) | |
download | bcm5719-llvm-75afc95112d2f01e898d713f49b338bdd5819aca.tar.gz bcm5719-llvm-75afc95112d2f01e898d713f49b338bdd5819aca.zip |
[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
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/frame/main.c')
0 files changed, 0 insertions, 0 deletions