GSoC/GCI Archive
Google Summer of Code 2011 The LLVM Compiler Infrastructure

Adaptive Compilation Framework for LLVM JIT Compiler

by TimeXerox for The LLVM Compiler Infrastructure

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.