[LLVMdev] JIT on armhf, again

Tim Northover t.p.northover at gmail.com
Wed Jul 23 23:18:12 PDT 2014


> Well, it's *almost* working --- hardfloat code is now being generated,
> and it even seems to be right most of the time!

OK, so that's probably coming from the default parameters in the
armv7/thumbv7 part of the triple. An alternative would have been
setting the CPU type manually.

> Unfortunately it looks like it's getting calling conventions wrong. This
> IR code:

Which triple are you using? And is the correct code used when you run
the same IR through "llc -mtriple=whatever"?

Finally, which version of LLVM are you using? Newer is better, LLVM
changes very quickly and we have been working on improving various
defaults to make it easier to use.

> Could it be under the impression that I'm running on an armel system? In
> which case the above code is correct. This would explain why the default
> setting appears to generate armel code. Is this controllable?

It ought to be the environment part of the triple that controls it:
eabihf or gnueabihf, for example.

Did you try setting a breakpoint in that function I mentioned and
finding out just which test fails on the path to returning AAPCS_VFP?

Cheers.

Tim.



More information about the llvm-dev mailing list