[LLVMdev] JIT on armhf, again

Tim Northover t.p.northover at gmail.com
Wed Jul 23 05:20:34 PDT 2014


Hi David,

On 23 July 2014 12:47, David Given <dg at cowlark.com> wrote:
> Now I'm running into a requirement to do this again: while it's much
> less crashy than it was, I still can't seem to persuade the JIT to
> generate hard-float code. This is with LLVM 3.3, 3.4 and 3.5. I'm using
> MCJIT (although I've tried without, as well),

Using MCJIT is definitely the right thing to do.

> and I've tried setting FloatABI to HardFloat.

My best guess is that you're only specifying an architecture (i.e. the
equivalent of "-march=arm" for llc). That means LLVM will default to
the older APCS calling convention, and won't ever use hard-float
(there just isn't a hard-float APCS ABI).

You should probably be specifying a triple directly, and making it an
AAPCS-VFP one for good measure: "armv7-linux-gnueabihf" for example,
or "thumbv7-none-eabihf". You shouldn't even need to set FloatABI for
those two.

Cheers.

Tim.



More information about the llvm-dev mailing list