Chapter 10: JIT Compilation
The LLVM core libraries come with the ExecutionEngine component, which allows the compilation and execution of IR code in memory. Using this component, we can build just in time (JIT) compilers, which allow the direct execution of IR code. A JIT compiler works more like an interpreter, in the sense that no object code needs to be stored on secondary storage.
In this chapter, you will learn about applications for JIT compilers, and how the LLVM JIT compiler works in principle. You will explore the LLVM dynamic compiler and interpreter, and you will also learn how to implement a JIT compiler tool on your own. You will also see how to make use of a JIT compiler as part of a static compiler, and the challenges associated with it.
This chapter will cover the following topics:
- Getting an overview of LLVM's JIT implementation and use cases
- Using JIT compilation for direct execution
- Utilizing a JIT compiler for code evaluation
By...