An introduction to LLVM in Go
Hacker News Dicussion
Article discussion on Hacker News
Some translations of this article:
LLVM is an infrastructure for creating compilers. It was initially created by Chris Lattner in 2000, and released in 2003. Since then it has evolved into an umbrella project that has a wide array of tools such as the LLVM Linker
lld, LLVM Debugger
lldb, and so on.
The banner feature of LLVM is its intermediate representation, commonly referred to as the
LLVM IR. The idea of LLVM is that you can compile down to this IR, and then this IR can be JIT compiled, interpreted, or compiled into native assembly for the machine it’s running on. The primary target of this IR is compilers, in fact there are many compilers out there that use LLVM: clang and clang++ for C and C++ respectively,
ldc2 for the D programming language, the Rust language, Swift, etc...
Continue reading →