What exactly is LLVM?

LLVM is a library that is used to construct, optimize and produce intermediate and/or binary machine code.

LLVM can be used as a compiler framework, where you provide the “front-end” (parser and lexer) and the “back-end” (code that converts LLVM’s representation to actual machine code).

LLVM can also act as a JIT compiler – it has support for x86/x86_64 and PPC/PPC64 assembly generation with fast code optimizations aimed for compilation speed.

Unfortunately disabled since 2013, there was the ability to play with LLVM’s machine code generated from C or C++ code at the demo page.

Leave a Comment