[llvm-dev] [RFC] [ARM] Execute only support

Christof Douma via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 8 08:42:19 PST 2015

Thanks for the pointers on floating point handling. I'll look into it.


> From: Dr D. Chisnall [mailto:dc552 at hermes.cam.ac.uk] On Behalf Of David
> Sent: 05 December 2015 10:17
> On 4 Dec 2015, at 17:11, Tim Northover via llvm-dev <llvm-
> dev at lists.llvm.org> wrote:
> >
> > Another option is moving litpools to one of the data sections (as they
> > are in AArch64, for example). I'm not sure exactly where the crossover
> > is, but I'd be a little surprised if movw/movt/vmov was more efficient
> > for 128-bit constants.
> Another option, with a little bit of linker support, would be to add an
> invariant that the literal pools are in a page that will be mapped at a
> offset from the code.  ARMv8 is designed to support large immediate
> to allow execute-only mappings, but materialising a constant of a fixed
> power of two is cheap on ARMv7 and loading literals from pc - 64KB (for
> example) would allow binaries to be mapped in alternating superpages of
> execute-only and read-only chunks.
> David

More information about the llvm-dev mailing list