diff options
author | David Green <david.green@arm.com> | 2021-12-02 17:10:26 +0000 |
---|---|---|
committer | David Green <david.green@arm.com> | 2021-12-02 17:10:26 +0000 |
commit | b8f1ccb0acf8dccdd3fb706465ec958763987bee (patch) | |
tree | 3104b1ff1f14f6c6a805ea4d14a4bdf4af180c94 /llvm/lib/Support/StringRef.cpp | |
parent | 2a2b3a3e3df7b89e18be9ffab1e08d7ca578cf57 (diff) | |
download | llvm-b8f1ccb0acf8dccdd3fb706465ec958763987bee.zip llvm-b8f1ccb0acf8dccdd3fb706465ec958763987bee.tar.gz llvm-b8f1ccb0acf8dccdd3fb706465ec958763987bee.tar.bz2 |
[ARM] Introduce i8neg and i8pos addressing modes
Some instructions with i8 immediate ranges can only hold negative values
(like t2LDRHi8), only hold positive values (like t2STRT) or hold +/-
depending on the U bit (like the pre/post inc instructions. e.g
t2LDRH_POST). This patch splits the AddrModeT2_i8 into AddrModeT2_i8,
AddrModeT2_i8pos and AddrModeT2_i8neg to make this clear.
This allows us to get the offset ranges of t2LDRHi8 correct in the
load/store optimizer, fixing issues where we could end up creating
instructions with positive offsets (which may then be encoded as ldrht).
Differential Revision: https://reviews.llvm.org/D114638
Diffstat (limited to 'llvm/lib/Support/StringRef.cpp')
0 files changed, 0 insertions, 0 deletions