LLVM, short for Low Level Virtual Machine is a collection of [[Open Source]] libraries and tooling that are used for the compilation and development with the [[C]] family langauges ([[C]], [[C++]], [[Objective C]]) with the [[Clang (Frontend)|Clang]] compiler.
Despite being originally intended for the C languages (in particular for support of [[Objective C]] as in 2006 GNU gcc had limited to no support), [[LLVM]]'s modularity allows it to be a very popular way of creating tooling / custom behavior for [[C++]], as well as being an easier way for building cross platform [[Compiler|compilers]] for other languages, such as [[Rust]], [[Julia]], [[Swift]], and more.
>[!info] External Links
> - [LLVM Source Code](https://github.com/llvm/llvm-project)
> - [LLVM Project Website](https://llvm.org/)
Apart of [[Clang (Frontend)|Clang]], [[LLVM]] is for building the *backend* of a compiler.