[llvm-commits] LLVM JIT Adaptive Compilation Patch

Xin Tong Utoronto x.tong at utoronto.ca
Thu Jun 23 19:32:53 PDT 2011


One of the current drawbacks of the LLVM JIT is the lack of an
adaptive compilation system. All the non-adaptive bits are already
there in LLVM: optimizing compiler with the different types of
instruction selectors, register allocators, preRA schedulers, etc. and
a full set of optimizations changeable at runtime. What's left is a
system that can keep track of and dynamically look-up the hotness of
methods and re-compile with more expensive optimizations as the
methods are executed over and over. This should improve program
startup time and execution time and will bring great benefits to all
ported languages that intend to use LLVM JIT as one of the execution
methods.

The implementation of the adaptive compilation framework is one of the
Google Summer of Code 2011 project
(http://www.google-melange.com/gsoc/project/google/gsoc2011/timexerox/8001).
This patch is intended to provide the basic infrastructure for the
adaptive compilation framework. Code for specific platforms are
currently being developed. This patch is generate against the LLVM
trunk and using GIT.


-- 
Kind Regards

Xin Tong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110623/236e004b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: adaptivecompilation.patch
Type: application/octet-stream
Size: 20848 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110623/236e004b/attachment.obj>


More information about the llvm-commits mailing list