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.
llvm::JIT framework is going to be removed after LLVM 3.5 and completely replaced by the
llvm::MCJIT framework. ...