[PATCH] Move arm assembler constant pools to ARMTargetStreamer class

David Peixotto dpeixott at codeaurora.org
Wed Jan 8 11:50:39 PST 2014


Attached is a patch to fix http://llvm.org/bugs/show_bug.cgi?id=18354. The
ldr-pseudo produces incorrect code when used in inline assembly. In this
patch I moved the constant pools to the ARMTargetStreamer class because that
looked like a logical location for them. I'm open to other suggestions or
approaches.


This patch fixes the ldr-pseudo implementation to work when used in
inline assembly. Previously we kept the assembler generated constant
pools in the ARMAsmParser object. This does not work for inline
assembly because a new parser object is created for each blob of
inline assembly. This patch moves the constant pools to the
ARMTargetStreamer class so that the constant pool will remain alive
for the entire code generation process.

This patch also adds the ARMTargetMachOStreamer class. There was no
existing definition of the ARMTargetMachOStreamer class because the
target streamer was not previously needed when generating MachO
objects. We now require the ARMTargetStreamer class to exist because
it is used to hold the assembler constant pools.

-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by The Linux Foundation



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Move-arm-assembler-constant-pools-to-ARMTargetStream.patch
Type: application/octet-stream
Size: 32348 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140108/b2d0b258/attachment.obj>


More information about the llvm-commits mailing list