[PATCH] D86924: [ARM] Fix so immediates and pc relative checks
Simon Wallis via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 1 03:17:20 PDT 2020
simonwallis2 created this revision.
simonwallis2 added reviewers: dmgreen, efriedma.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
simonwallis2 requested review of this revision.
An SoImm 32 bit immediate constant is an 8 bit value 0 to 255
rotated right by a 4-bit even count, 0, 2, . . 28, 30.
Most negative values that are multiple of 4 in the range -1020 to -4 cannot be represent by an SoImm.
This commit stops considering an SoImm encoding for a negative offset to a constant island.
https://reviews.llvm.org/D86924
Files:
llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Index: llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
===================================================================
--- llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
+++ llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
@@ -782,7 +782,6 @@
// displacements that fits in a SoImm as well.
Bits = 8;
Scale = 4;
- NegOk = true;
IsSoImm = true;
break;
case ARM::t2LEApcrel:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86924.289116.patch
Type: text/x-patch
Size: 457 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200901/63c05b43/attachment.bin>
More information about the llvm-commits
mailing list