[ARC] Better classify add/sub immediate instructions in frame lowering.
authorPete Couperus <petecoup@synopsys.com>
Thu, 14 Mar 2019 17:50:46 +0000 (17:50 +0000)
committerPete Couperus <petecoup@synopsys.com>
Thu, 14 Mar 2019 17:50:46 +0000 (17:50 +0000)
commit225c0bd61ee189264eb17e149b3c0bc8219a0478
tree0b95244540f0a0f52fc61c96a647c78f72973452
parenta80d9ce5cfa1d109b895cd4837d0c1bb564775d7
[ARC] Better classify add/sub immediate instructions in frame lowering.

Summary:
Some operations have multiple ARC instructions that are applicable.
For instance, "add r0, r0, 123" can be encoded as a "LImm" instruction
with a 32-bit immediate (8-bytes), or as a signed 12-bit immediate instruction
for the case where the source and destination register are the same (4-bytes).
The ARC assembler will choose the shortest encoding, but we should track
the correct instruction in the compiler.
This patch fixes the instruction used in some cases from ARCFrameLowering.

Subscribers: hiraditya, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59326

llvm-svn: 356179
llvm/lib/Target/ARC/ARCFrameLowering.cpp