LLVM
The most recommended of 10 compiler infrastructures
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.
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.
215 people gave an opinion
- recommend it
- 119
- criticize it
- 96
- approval share
- 55%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 6 years
Median of the 3 owners who said how long they have had it.
Each square is one year.
Why it doesn’t carry the badge
- 119 people recommend itNeeds 10 or more, met.
- 1.2 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Excellent optimized code generation
“It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason.”
Comment from 5 Dec 2025 in “CUDA-l2: Surpassing cuBLAS performance for matrix multiplication through RL” “GCC and LLVM can find some amazing optimizations, but they also consistently miss very obvious optimization opportunities”
Comment from 4 Dec 2025 in “You can't fool the optimizer” “for all its warts, nobody is writing a seriously optimized language in any of the options you listed besides LLVM”
Comment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption” - Comment from 17 Feb 2026 in “Can a Computer Science Student Be Taught to Design Hardware?”
- Comment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”
- Comment from 22 Jul 2026 in “Everyone Should Know SIMD”
Fast way to build compilers
“good tool users could save a lot of time instead of hand implementing everything, as I would. So thumbs up to LLVM.”
Comment from 18 Aug 2026 in “scScript for Linux” “I was surprised at how quickly a self-hosting compiler could be brought up using the LLVM ecosystem.”
Comment from 6 Jul 2026 in “The LLVM Compiler Infrastructure” “Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.”
Comment from 8 Nov 2025 in “Becoming a compiler engineer” - Comment from 6 Aug 2026 in “How to Make a Nintendo 64 Game in 2026”
Well-architected and modular
“I would argue that LLVM was/is the most well thought out and well-architected piece of software that exists today”
Comment from 31 Dec 2025 in “Five Years of Tinygrad” “LLVM is also very modular which makes it easy to maintain forks for a specific backend”
Comment from 30 Nov 2025 in “LLVM-MOS – Clang LLVM fork targeting the 6502” “the API is surprisingly benign and well documented for how difficult a task it accomplishes”
Comment from 8 Nov 2025 in “Becoming a compiler engineer” Stable, expressive intermediate representation
“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.”
Comment from 12 Jan 2026 in “LLVM: The Bad Parts” “Its IR is intended be be C-like, except that everything is well-defined and substantially more expressive than C.”
Comment from 9 Feb 2026 in “Thoughts on Generating C” “LLVM has a hardware agnostic intermediate representation (IR) that one could use though.”
Comment from 1 Aug 2026 in “The Art of 64-bit Assembly” - Comment from 18 May 2026 in “Jank now has its own custom IR”
What people warn about
Each mark is one comment
Slow compilation times
“It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason.”
Comment from 5 Dec 2025 in “CUDA-l2: Surpassing cuBLAS performance for matrix multiplication through RL” “I remember part of the selling point of LLVM during its early stage was compilation time being so much faster than GCC.”
Comment from 12 Jan 2026 in “LLVM: The Bad Parts” “This infrastructure is also slow and leads to poor compilation times for any language that uses llvm as a backend.”
Comment from 7 Jul 2026 in “The LLVM Compiler Infrastructure” - Comment from 4 Mar 2026 in “Better JIT for Postgres”
- Comment from 1 Nov 2025 on Hacker News
Flawed, heavy design and dependency
“Pretty much everyone who has created a programming language with it has complained about its design.”
Comment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption” “llvm makes a lot of assumptions about the structure of your code and the way its manipulated”
Comment from 23 Apr 2026 in “Writing a C Compiler, in Zig” “My main concern with LLVM is that it adds 30+ million lines of code dependency to any language that relies on it.”
Comment from 12 Jan 2026 in “LLVM: The Bad Parts” - Comment from 3 Jan 2026 in “The C3 Programming Language”
- Comment from 7 Jul 2026 in “The LLVM Compiler Infrastructure”
- Comment from 9 Jun 2026 in “Gooey: A GPU-accelerated UI framework for Zig”
Misses obvious optimizations
“LLVM codegen has been almost always sufficient, but for a routine that essentially amounts to adding two fixed-size bigints”
Comment from 4 Dec 2025 in “Addressing the adding situation” “GCC and LLVM can find some amazing optimizations, but they also consistently miss very obvious optimization opportunities”
Comment from 4 Dec 2025 in “You can't fool the optimizer” “This “optimization” is not a win unless you willfully ignore the program and everything but instruction count.”
Comment from 31 Dec 2025 in “The production bug that made me care about undefined behavior” Painful to install and build
“The brew LLVM situation is crazy and even more noticeable when you're on older macOS for which they no longer ship precompiled stuff.”
Comment from 6 Jan 2026 in “Why is the Gmail app 700 MB?” “Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010.”
Comment from 21 Jan 2026 in “Linux from Scratch”
Other compiler infrastructures people recommend
The four most recommended other compiler infrastructures, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| LLVMThis page | 119 | 96 | 55% | 12 | 6 yrs3 owners | — |
| QBE | 16 | 10 | 62% | 9 | — | — |
| EDG C++ front-end | 15 | 3 | 83% | 2 | — | — |
| Roslyn | 11 | 1 | 92% | 8 | — | Approved |
| MLIR | 10 | 4 | 71% | 6 | — | Approved |
What people said
40 of the 265 comments that mention it, newest first. Each links to the original comment.
“The autovectorizer works quite well in llvm with all the aliasing guarantees rust gives it.”
“good tool users could save a lot of time instead of hand implementing everything, as I would. So thumbs up to LLVM.”
“getting working code was as simple as telling the compiler to use LLVM's MIPS III target”
“LLVM has a hardware agnostic intermediate representation (IR) that one could use though.”
“-Os is much much more aggressive in GCC than it is in LLVM, with LLVM you need to use -Oz to get the same result”
“They actually shipped LLVM bytecode, and you had to compile the executable locally with the whole toolchain”
“llvm definitely does a great job optimising tightly-written vector code to be even faster”
“Even with that there's still plenty of overhead from all the horrible C++ OOP-brained abstractions LLVM uses.”
“This infrastructure is also slow and leads to poor compilation times for any language that uses llvm as a backend.”
“I was surprised at how quickly a self-hosting compiler could be brought up using the LLVM ecosystem.”
“It could have been designed a lot better and could be managed very differently and we'd see better results.”
“i think LLVM also provides frameworks to do basically the same things (which does support a lot of platforms) and they also have good docs.”
“LLVM is a lot more verbose, but allows you to actually pick the semantics you want.”
“llvm makes a lot of assumptions about the structure of your code and the way its manipulated”
“I’m always surprised to learn LLVM is so slow given that was one of the original motivations for developing it.”
“the sentiment that Swift and Mojo and LLVM are these awful abominations is beyond the pale for me from an engineering standpoint”
“for all its warts, nobody is writing a seriously optimized language in any of the options you listed besides LLVM”
“It feels that, if LLVM had completely nailed its mission, these kinds of projects would be less common.”
“Pretty much everyone who has created a programming language with it has complained about its design.”
“llvm/gcc won the compiler world because they blew the codegen of proprietary compilers out of the water”
“Its IR is intended be be C-like, except that everything is well-defined and substantially more expressive than C.”
“they have significantly moved the needle on the average experience for quite a large number of end users”
“Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010.”
“My main concern with LLVM is that it adds 30+ million lines of code dependency to any language that relies on it.”
“I remember part of the selling point of LLVM during its early stage was compilation time being so much faster than GCC.”
“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.”
“The brew LLVM situation is crazy and even more noticeable when you're on older macOS for which they no longer ship precompiled stuff.”
“LLVM isn't well suited for various things you might like to do when compiling functional programming languages”
“This “optimization” is not a win unless you willfully ignore the program and everything but instruction count.”
“I would argue that LLVM was/is the most well thought out and well-architected piece of software that exists today”
“Compiler know-how and resources available during compilations made very signicant progress between gcc and LLVM/clang era.”
“It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason.”
“LLVM codegen has been almost always sufficient, but for a routine that essentially amounts to adding two fixed-size bigints”
“GCC and LLVM can find some amazing optimizations, but they also consistently miss very obvious optimization opportunities”
“you can view what the LLVM optimizer pipeline does, and which pass is actually responsible for doing which instruction”
“LLVM is also very modular which makes it easy to maintain forks for a specific backend”
“Relatively standard CMake build with mostly self contained c++ codebase and few third party dependencies.”
“Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.”
“the API is surprisingly benign and well documented for how difficult a task it accomplishes”
“The only downside was that you couldn't generate very high dimensional irreps because LLVM would begin to struggle with the sheer volume of code it needed to compile”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.