lli supports different targets than llc?

Hi,

Is it normal/expected for `llc` to support a different set of targets
than `lli`?
I have a hello.ll on which this works:

$ llc -mtriple=armv7a-linux-gnueabihf hello.ll
# OK, generates hello.s

But this doesn't:

$ lli -mtriple=armv7a-linux-gnueabihf hello.ll
# lli: error creating EE: No available targets are compatible with
this triple, see -version for the available targets.

I'm using LLVM from the git mirror:

$ lli -version
LLVM (http://llvm.org/):
LLVM version 3.7.0svn
Optimized build.
Built Jun 19 2015 (17:35:44).
Default target: x86_64-unknown-linux-gnu
Host CPU: broadwell

I thought they would both support the same targets... Why isn't that the case?

Thanks,

Débora.

Hi,

You’re asking lli to create a JIT for ARM code on an Intel platform… That’s not realistically going to be achievable :slight_smile:

Cross compilation is easy, cross execution requires an emulator.

Cheers,

James

This seems like a common enough misconception, that I slightly
re-worded the lli docs to make sure this is clear:

http://llvm.org/docs/CommandGuide/lli.html

cheers,
--renato