# LLVM

119 Hacker News commenters recommended LLVM and 96 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 6 years (3 owners).

**Verdict:** The default backend for building an optimizing language compiler, praised for strong codegen, a modular design and a stable IR, though it is widely criticized as slow to compile.

## Why people recommend it

- Excellent optimized code generation (6 comments): "It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason." ([source](https://news.ycombinator.com/item?id=46160737)) "GCC and LLVM can find some amazing optimizations, but they also consistently miss very obvious optimization opportunities" ([source](https://news.ycombinator.com/item?id=46143603)) "for all its warts, nobody is writing a seriously optimized language in any of the options you listed besides LLVM" ([source](https://news.ycombinator.com/item?id=47071144))
- Fast way to build compilers (4 comments): "good tool users could save a lot of time instead of hand implementing everything, as I would. So thumbs up to LLVM." ([source](https://news.ycombinator.com/item?id=49339830)) "I was surprised at how quickly a self-hosting compiler could be brought up using the LLVM ecosystem." ([source](https://news.ycombinator.com/item?id=48811462)) "Anything else, you're better off starting off with LLVM. Especially if you want a compiler job." ([source](https://news.ycombinator.com/item?id=45854471))
- Well-architected and modular (3 comments): "I would argue that LLVM was/is the most well thought out and well-architected piece of software that exists today" ([source](https://news.ycombinator.com/item?id=46440071)) "LLVM is also very modular which makes it easy to maintain forks for a specific backend" ([source](https://news.ycombinator.com/item?id=46100049)) "the API is surprisingly benign and well documented for how difficult a task it accomplishes" ([source](https://news.ycombinator.com/item?id=45853612))
- Stable, expressive intermediate representation (4 comments): "LLVM IR is actually remarkably stable these days. I was able to rebase Fil-C from llvm 17 to 20 in a single day of work." ([source](https://news.ycombinator.com/item?id=46590017)) "Its IR is intended be be C-like, except that everything is well-defined and substantially more expressive than C." ([source](https://news.ycombinator.com/item?id=46948590)) "LLVM has a hardware agnostic intermediate representation (IR) that one could use though." ([source](https://news.ycombinator.com/item?id=49135760))

## What people warn about

- Slow compilation times (5 comments): "It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason." ([source](https://news.ycombinator.com/item?id=46160737)) "I remember part of the selling point of LLVM during its early stage was compilation time being so much faster than GCC." ([source](https://news.ycombinator.com/item?id=46591133)) "This infrastructure is also slow and leads to poor compilation times for any language that uses llvm as a backend." ([source](https://news.ycombinator.com/item?id=48813125))
- Flawed, heavy design and dependency (6 comments): "Pretty much everyone who has created a programming language with it has complained about its design." ([source](https://news.ycombinator.com/item?id=47068688)) "llvm makes a lot of assumptions about the structure of your code and the way its manipulated" ([source](https://news.ycombinator.com/item?id=47876919)) "My main concern with LLVM is that it adds 30+ million lines of code dependency to any language that relies on it." ([source](https://news.ycombinator.com/item?id=46593752))
- Misses obvious optimizations (3 comments): "LLVM codegen has been almost always sufficient, but for a routine that essentially amounts to adding two fixed-size bigints" ([source](https://news.ycombinator.com/item?id=46150316)) "GCC and LLVM can find some amazing optimizations, but they also consistently miss very obvious optimization opportunities" ([source](https://news.ycombinator.com/item?id=46143603)) "This “optimization” is not a win unless you willfully ignore the program and everything but instruction count." ([source](https://news.ycombinator.com/item?id=46441471))
- Painful to install and build (2 comments): "The brew LLVM situation is crazy and even more noticeable when you're on older macOS for which they no longer ship precompiled stuff." ([source](https://news.ycombinator.com/item?id=46518636)) "Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010." ([source](https://news.ycombinator.com/item?id=46711673))

## Alternatives hackers recommend

- [QBE](https://hackerapproved.com/p/qbe.md): 16 recommend
- [EDG C++ front-end](https://hackerapproved.com/p/edg-c-plus-plus-front-end.md): 15 recommend
- [Roslyn](https://hackerapproved.com/p/roslyn.md): 11 recommend
- [MLIR](https://hackerapproved.com/p/mlir.md): 10 recommend
- [Cranelift](https://hackerapproved.com/p/cranelift.md): 10 recommend

## Cite as

Hacker Approved, "LLVM", https://hackerapproved.com/p/llvm/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
