[PATCH] D20153: [ARM] PR25722 Delay ARM constant pool creation
Peter Smith via llvm-commits
llvm-commits at lists.llvm.org
Wed May 11 02:51:15 PDT 2016
peter.smith created this revision.
peter.smith added reviewers: rengolin, olista01, t.p.northover.
peter.smith added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.
This is first in a series of patches to fix PR25722.
This change adds a new constant pool kind to ARMOperand. When parsing the operand for =immediate we create an instance of this operand rather than creating a constant pool entry and rewriting the operand.
As the new operand kind is only created for ldr rt,= we can make ldr rt,= an explicit pseudo instruction in ARM, Thumb and Thumb2
The pseudo instruction is expanded in processInstruction(). This creates the constant pool and transforms the pseudo instruction into a pc-relative ldr to the constant pool.
There are no functional changes and no modifications needed to existing tests.
http://reviews.llvm.org/D20153
Files:
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20153.56866.patch
Type: text/x-patch
Size: 8438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160511/f5b7317c/attachment.bin>
More information about the llvm-commits
mailing list