[LLVMdev] JIT on armhf, again

Renato Golin renato.golin at linaro.org
Fri Jul 25 01:44:23 PDT 2014


On 24 July 2014 22:47, David Given <dg at cowlark.com> wrote:
> I should add that my application works absolutely fine on amd64 on Linux
> and OS X; I'm not trying to *develop* on ARM, merely get an existing app
> working. I'm reasonably confident that the logic is correct.

Hi David,

The behaviour of LLVM tools should be independent of the platform you
run it on, so a triple should have the same effect on any host
environment.

Your problem seem to be related to defaults on triples being set in
Clang/llc/lli apart from *just* setting the triple, which is quite
widespread. We have extensively discussed a common API for the drivers
(any front-end), so that every architectural decision would be shared,
even for off-tree projects like yours, but that's easier said than
done.

For now, what I recommend is for you to look into llc or lli drivers
and check how do they set up the ARM parameters from the triple and do
the same on your code. On most tools, setting "arm-*-gnueabihf" should
be enough to get you hard-float, but that doesn't mean that setting
Triple = "arm-*-gnueabihf" will set the right flags in the execution
engine's / back-end's structures. You may have to do that manually.

cheers,
--renato



More information about the llvm-dev mailing list