[LLVMdev] JIT on armhf

David Given dg at cowlark.com
Fri Feb 8 14:00:55 PST 2013


On 08/02/13 15:42, David Tweed wrote:
> | For ARM, you will need to use the MCJIT ExecutionEngine as the legacy
> | one is broken for ARM. (call EngineBuilder::setUseMCJIT()).
> 
> Also remember to include the correct MCJIT headers not the JIT one's:
> calling setUseMCJIT() with the old JIT headers are the only ones being
> included just constructs an old JIT, it doesn't spit out a helpful warning
> like "I can't build an MCJIT JIT for you". (This bit me until Amara pointed
> it out.)

So I'm using "llvm/ExecutionEngine/MCJIT.h" instead of
"llvm/ExecutionEngine/JIT.h", and I've added setUseMCJIT(true) to
EngineBuilder, but what actually happens is:

LLVM ERROR: Target does not support MC emission!

Do I need to do anything else?

Also, what's the code quality of MCJIT compared to the old JIT? As I'm
basically compiling statically at runtime, I don't mind if LLVM spends
time generating the code --- I'm using a module pass, eager code
generation and setOptLevel(llvm::CodeGenOpt::Aggressive) --- and right
now I'm extremely happy with the quality of the code being emitted for
amd64.

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│ "Of course, on a sufficiently small planet, 40 km/hr is, in fact,
│ sufficient to punt the elastic spherical cow into low orbit." ---
│ Brooks Moses on r.a.sf.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130208/1e3f5f71/attachment.sig>


More information about the llvm-dev mailing list