[LLVMdev] JIT compiler on ARM issue

Kaylor, Andrew andrew.kaylor at intel.com
Tue Oct 1 09:05:09 PDT 2013


Lazy compilation should also be helped by the new multiple module support.  You can get an idea of how it works in the "Making MCJIT Lazy" section of this blog post: http://blog.llvm.org/2013/07/kaleidoscope-performance-with-mcjit.html

The multiple module support took a few of the ideas from that blog example and made them internal to MCJIT.  So now, for instance, if you have a whole lot of small modules and ask for a function pointer from one of them MCJIT will figure out which ones it needs to compile to satisfy dependencies between modules.

MCJIT will always be module based, so it can't do function-level lazy compilation the way the old JIT did, but if the client constructs input modules carefully we can get pretty close to the same behavior.

The new changes also take a first step in addressing the memory consumption issues with MCJIT, but there's still more to be done in that regard.

-Andy

-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Tim Northover
Sent: Tuesday, October 01, 2013 6:50 AM
To: Dirkjan Bussink
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] JIT compiler on ARM issue

Hi Dirkjan,

> I've tried looking for this error, but can't seem to find any more information on what the cause of this could be.

This looks like a backtrace from the legacy JIT. Unfortunately that's known to be broken on ARM and you should use the MCJIT instead (see tools/lli/lli.cpp for an example of how to enable it).

We're hoping to get rid of the old one soon, but there are one or two features that don't quite work there yet. Lazy compilation is the only one I know of, since we got multi-module support yesterday. But there may be more.

Cheers.

Tim.
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list