LLVM, which is short for Low-Level Virtual Machine, is a compiler infrastructure project that is a collection of compiler and toolchain technologies. The LLVM is purely written in C++, started in early 2000 at the University of Illinois at Urbana–Champaign by Vikram Adve and Chris Lattner. In the present day, a lot of modern frontend and backend technologies, including Julia, use LLVM as the baseline compiler architecture.
Since its initial days of development, LLVM has grown much more and today we call it an umbrella project, which features a lot of other exciting stuff:
- LLVM IR
- LLVM Debugger
- LLVM C++ Standard Library and more
In Chapter 1, Understanding Julia's Ecosystem, we had already gone through an initial level of discussion about LLVM and JIT; however, in this part of the chapter, we will discuss how Julia uses LLVM and JIT to...