diff options
author | Renato Golin <renato.golin@linaro.org> | 2015-02-25 14:41:06 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2015-02-25 14:41:06 +0000 |
commit | b9887ef32a5d06108dfabbbe181bd8e4ea7abbfe (patch) | |
tree | e470f2ae641ff070823cdb61580fd2a777e60b22 /llvm/test/CodeGen/ARM/debug-segmented-stacks.ll | |
parent | a9b01eb77641cce46dcc69bce27635a72187a89c (diff) | |
download | bcm5719-llvm-b9887ef32a5d06108dfabbbe181bd8e4ea7abbfe.tar.gz bcm5719-llvm-b9887ef32a5d06108dfabbbe181bd8e4ea7abbfe.zip |
Improve handling of stack accesses in Thumb-1
Thumb-1 only allows SP-based LDR and STR to be word-sized, and SP-base LDR,
STR, and ADD only allow offsets that are a multiple of 4. Make some changes
to better make use of these instructions:
* Use word loads for anyext byte and halfword loads from the stack.
* Enforce 4-byte alignment on objects accessed in this way, to ensure that
the offset is valid.
* Do the same for objects whose frame index is used, in order to avoid having
to use more than one ADD to generate the frame index.
* Correct how many bits of offset we think AddrModeT1_s has.
Patch by John Brawn.
llvm-svn: 230496
Diffstat (limited to 'llvm/test/CodeGen/ARM/debug-segmented-stacks.ll')
0 files changed, 0 insertions, 0 deletions