Hacker News new | past | comments | ask | show | jobs | submit login

LLVM is an extremely open backend. So it can be used for many projects a short list of its usages:

* Compiling SPIR-V shaders to GPU executables

* Compiling C

* Compiling C++

* Compiling Rust

* Compiling Haskell

* Compiling Swift

* JIT compilers for databases

* JVM JIT

Effectively once you translate to LLVM-IR you are basically home free, the LLVM can handle the rest. Which means you have a board range of people providing optimization passes, and catching bugs.

---

With the GCC its IR is tightly coupled to the C front end. While there has been some decoupling, this is generally considered a feature as it doesn't allow for a corporation to _run away_ with part of the project.

---

The LLVM is more modular, you can pick and take what you need. You can embed it, or call it externally. It is a hybrid BST/MIT/X11 license so it is open source, and embedding it in your project doesn't mean your project becomes GPL'd.







Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: