[PATCH] Move arm assembler constant pools to ARMTargetStreamer class

David Peixotto dpeixott at codeaurora.org
Mon Jan 13 10:34:59 PST 2014


Ping. Any feedback on the patch/approach? What do people think about storing
the constant pools in the ARMTargetStreamer class?


> -----Original Message-----
> From: David Peixotto [mailto:dpeixott at codeaurora.org]
> Sent: Wednesday, January 08, 2014 11:51 AM
> To: llvm-commits at cs.uiuc.edu
> Subject: [PATCH] Move arm assembler constant pools to ARMTargetStreamer
> class
> 
> 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
> 
> 





More information about the llvm-commits mailing list