diff options
author | Renato Golin <renato.golin@linaro.org> | 2016-05-12 21:22:42 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2016-05-12 21:22:42 +0000 |
commit | 608cb5def6bb38961580be2446a8e35aed4f8f8b (patch) | |
tree | 12a4d978165c49617f56518d424377225030f6a5 /lldb/packages/Python/lldbsuite/test/python_api | |
parent | d5491ab1f9a9dff712d9cd14744f50c2f112784e (diff) | |
download | bcm5719-llvm-608cb5def6bb38961580be2446a8e35aed4f8f8b.tar.gz bcm5719-llvm-608cb5def6bb38961580be2446a8e35aed4f8f8b.zip |
[ARM] Support and tests for transform of LDR rt, = to MOV
This change implements the transformation in processInstruction() for the
LDR rt, =expression to MOV rt, expression when the expression can be evaluated
and can fit into the immediate field of the MOV or a MVN.
Across the ARM and Thumb instruction sets there are several cases to consider,
each with a different range of representatble constants.
In ARM we have:
* Modified immediate (All ARM architectures)
* MOVW (v6t2 and above)
In Thumb we have:
* Modified immediate (v6t2, v7m and v8m.mainline)
* MOVW (v6t2, v7m, v8.mainline and v8m.baseline)
* Narrow Thumb MOV that can be used in an IT block (non flag-setting)
If the immediate fits any of the available alternatives then we make the transformation.
Fixes 25722.
Patch by Peter Smith.
llvm-svn: 269354
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions