Introducing the llvm::MCJIT framework

The MCJIT class is a novel JIT implementation for LLVM. It differs from the old JIT implementation by the MC framework, explored in Chapter 6, The Backend. MC provides a uniform representation for instructions and is a framework shared among the assembler, disassembler, assembly printer and MCJIT.

The first advantage of using the MC library is that targets need to specify their instruction encodings only once because this information is used by all the subsystems. Therefore, when writing an LLVM backend, if you implement the object code emission for your target, you have the JIT functionality as well.

The llvm::JIT framework is going to be removed after LLVM 3.5 and completely replaced by the llvm::MCJIT framework. ...

Get Getting Started with LLVM Core Libraries now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.