[LLVMdev] MCJIT and Lazy Compilation

Kaylor, Andrew andrew.kaylor at intel.com
Thu Feb 7 13:36:24 PST 2013


That's awesome!

I think at this point having people try out various approaches and seeing what works and what doesn't is our biggest need in this area.  Please do keep me informed about what you find out.

-Andy

From: Andrew Sorensen [mailto:digegoo at gmail.com]
Sent: Wednesday, February 06, 2013 4:33 PM
To: Kaylor, Andrew
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] MCJIT and Lazy Compilation

Thanks for the update Andy.

I'm very happy to be involved in anyway that is helpful.  If you would like me to test ideas, or contribute to further discussions, then please let me know.

I currently have extempore running nicely with MCJIT for the "monolithic" case and am working on various LLVM hacks to better understand the issues involved with non-monolithic approaches - in particular I'm starting with your multi-module approach.  I will report back when (and if) I have something useful to contribute.

Cheers,
Andrew.

On Wed, Feb 6, 2013 at 4:08 AM, Kaylor, Andrew <andrew.kaylor at intel.com<mailto:andrew.kaylor at intel.com>> wrote:
Hi Andrew,

I was about to write a belated reply to this message (sorry for the delay), but then I realized that pretty much everything useful that I have to say on the subject is contained in this message (which is in a thread Albert Graef already linked to):

https://groups.google.com/d/msg/llvm-dev/Rk9cWdRX0Wg/Fa1Mn6cyS9UJ

Generally, I do hope that MCJIT will be capable of replacing the old JIT someday soon, though obviously it cannot do so until it provides equivalent functionality.  I doubt it will ever be a "drop-in" replacement, but I hope that minimal rework will be needed.  Most significantly, as can be seen in earlier discussions, things will need to be made Module-centric rather than Function-centric.  It ought to be possible to write a utility class that takes a monolithic Module and breaks it up into sub-Modules for individual functions, but I think that would need to happen outside of the MCJIT engine because not all clients would want that kind of granularity.

There's definitely a lot of work to be done here to get this right, and hopefully we'll get active participation in any design discussions to make sure the solution meets everyone's needs.  I don't have a time table for this right now.  I will file a Bugzilla report as soon as the LLVM server is ready.

-Andy

From: llvmdev-bounces at cs.uiuc.edu<mailto:llvmdev-bounces at cs.uiuc.edu> [mailto:llvmdev-bounces at cs.uiuc.edu<mailto:llvmdev-bounces at cs.uiuc.edu>] On Behalf Of Andrew Sorensen
Sent: Thursday, January 31, 2013 7:56 PM
To: llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>
Subject: [LLVMdev] MCJIT and Lazy Compilation

Does anyone have a roadmap for MCJIT with what I think people are
calling lazy compilation.

Is this even on the cards?

I spent the last few hours moving my project (extempore.moso.com.au<http://extempore.moso.com.au>)
over to MCJIT (particularly for ARM), and am a little horrified to discover
no ability to compile, and just as importantly to recompile, at a function level.
This is absolutely mandatory for my project.

I have been looking enviously at MCJIT's ARM+DWARF support for a
couple of years and was under the misapprehension that MCJIT was
attempting to be a *drop-in* replacement for JIT.  So I wasn't overly
concerned about the primary JIT being largely neglected. This is obviously
my fault, I wasn't paying close enough attention.

I am now wondering what the LLVM project, in the large, plans regarding
just-in-time compilation moving forward.  Is MCJIT the future, and
if so what kind of roadmap is there to replicate current JIT functionality.
In my case in relation to function level (re)compilation.

I appreciate everyones efforts, and that we all have our own agendas.
I'm just trying to put my own roadmap in place.

Cheers,
Andrew.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130207/0d99c911/attachment.html>


More information about the llvm-dev mailing list