JIT Compilation
The LLVM core libraries come with the ExecutionEngine component that allows the compilation and execution of intermediate representation (IR) code in memory. Using this component, we can build just-in-time (JIT) compilers, which allows for direct execution of IR code. A JIT compiler works more like an interpreter because 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 learn how to implement JIT compiler tools on your own. Furthermore, you will also learn how to use a JIT compiler as part of a static compiler, and the associated challenges.
This chapter will cover the following topics:
- Getting an overview of LLVM’s JIT implementation and use cases
- Using JIT compilation for direct execution
- Implementing your own JIT compiler from existing classes
- Implementing...