forked from OSchip/llvm-project
![]() In Thumb1, legal imm range is [0, 255] for ADD/SUB instructions. However, the legal imm range for LD/ST in (R+Imm) addressing mode is [0, 127]. Imms in [128, 255] are materialized by mov R, #imm, and LD/STs use them in (R+R) addressing mode. This patch checks if a constant is used as offset in (R+Imm), if so, it checks isLegalAddressingMode passing the constant value as BaseOffset. Differential Revision: https://reviews.llvm.org/D50931 llvm-svn: 340882 |
||
---|---|---|
.. | ||
bad-cases.ll | ||
const-addr-no-neg-offset.ll | ||
gep-struct-index.ll | ||
insertvalue.ll | ||
is-legal-addressing-imm.ll | ||
lit.local.cfg |