Hacker ApprovedDepartments

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%
Each figure is 2 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. 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”
  • 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”
  • 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”

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”
  • 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”
  • 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.

LLVM compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
LLVMThis page1199655%126 yrs3 owners—
QBE161062%9——
EDG C++ front-end15383%2——
Roslyn11192%8—Approved
MLIR10471%6—Approved
See all 10 compiler infrastructures, ranked

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.”

RecommendsComment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

“good tool users could save a lot of time instead of hand implementing everything, as I would. So thumbs up to LLVM.”

RecommendsComment from 18 Aug 2026 in “scScript for Linux”

“getting working code was as simple as telling the compiler to use LLVM's MIPS III target”

RecommendsComment from 6 Aug 2026 in “How to Make a Nintendo 64 Game in 2026”

“LLVM has a hardware agnostic intermediate representation (IR) that one could use though.”

RecommendsComment from 1 Aug 2026 in “The Art of 64-bit Assembly”

“-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”

MixedComment from 30 Jul 2026 in “ESP32-C6 Power Consumption: Arduino vs. Zephyr vs. ESP-IDF Comparison”

“They actually shipped LLVM bytecode, and you had to compile the executable locally with the whole toolchain”

MixedComment from 25 Jul 2026 in “GC and Exceptions in Wasmtime”

“llvm definitely does a great job optimising tightly-written vector code to be even faster”

RecommendsComment from 22 Jul 2026 in “Everyone Should Know SIMD”

“Even with that there's still plenty of overhead from all the horrible C++ OOP-brained abstractions LLVM uses.”

CriticizesComment from 7 Jul 2026 in “The LLVM Compiler Infrastructure”

“This infrastructure is also slow and leads to poor compilation times for any language that uses llvm as a backend.”

CriticizesComment from 7 Jul 2026 in “The LLVM Compiler Infrastructure”

“I was surprised at how quickly a self-hosting compiler could be brought up using the LLVM ecosystem.”

RecommendsComment from 6 Jul 2026 in “The LLVM Compiler Infrastructure”

“It could have been designed a lot better and could be managed very differently and we'd see better results.”

CriticizesComment from 9 Jun 2026 in “Gooey: A GPU-accelerated UI framework for Zig”

“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.”

RecommendsComment from 3 Jun 2026 in “Capstone – multi-platform, multi-architecture disassembly framework”

“LLVM is a lot more verbose, but allows you to actually pick the semantics you want.”

MixedComment from 18 May 2026 in “Jank now has its own custom IR”

“llvm makes a lot of assumptions about the structure of your code and the way its manipulated”

MixedComment from 23 Apr 2026 in “Writing a C Compiler, in Zig”

“I’m always surprised to learn LLVM is so slow given that was one of the original motivations for developing it.”

CriticizesComment from 4 Mar 2026 in “Better JIT for Postgres”

“the sentiment that Swift and Mojo and LLVM are these awful abominations is beyond the pale for me from an engineering standpoint”

RecommendsComment from 20 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption”

“for all its warts, nobody is writing a seriously optimized language in any of the options you listed besides LLVM”

RecommendsComment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption”

“It feels that, if LLVM had completely nailed its mission, these kinds of projects would be less common.”

MixedComment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption”

“Pretty much everyone who has created a programming language with it has complained about its design.”

MixedComment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption”

“llvm/gcc won the compiler world because they blew the codegen of proprietary compilers out of the water”

RecommendsComment from 17 Feb 2026 in “Can a Computer Science Student Be Taught to Design Hardware?”

“Its IR is intended be be C-like, except that everything is well-defined and substantially more expressive than C.”

RecommendsComment from 9 Feb 2026 in “Thoughts on Generating C”

“they have significantly moved the needle on the average experience for quite a large number of end users”

RecommendsComment from 4 Feb 2026 in “The Holy Grail of Linux Binary Compatibility: Musl and Dlopen”

“Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010.”

MixedComment from 21 Jan 2026 in “Linux from Scratch”

“My main concern with LLVM is that it adds 30+ million lines of code dependency to any language that relies on it.”

CriticizesComment from 12 Jan 2026 in “LLVM: The Bad Parts”

“I remember part of the selling point of LLVM during its early stage was compilation time being so much faster than GCC.”

CriticizesComment from 12 Jan 2026 in “LLVM: The Bad Parts”

“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.”

MixedComment from 12 Jan 2026 in “LLVM: The Bad Parts”

“The brew LLVM situation is crazy and even more noticeable when you're on older macOS for which they no longer ship precompiled stuff.”

CriticizesComment from 6 Jan 2026 in “Why is the Gmail app 700 MB?”

“LLVM isn't well suited for various things you might like to do when compiling functional programming languages”

CriticizesComment from 3 Jan 2026 in “The C3 Programming Language”

“This “optimization” is not a win unless you willfully ignore the program and everything but instruction count.”

CriticizesComment from 31 Dec 2025 in “The production bug that made me care about undefined behavior”

“I would argue that LLVM was/is the most well thought out and well-architected piece of software that exists today”

MixedComment from 31 Dec 2025 in “Five Years of Tinygrad”

“Compiler know-how and resources available during compilations made very signicant progress between gcc and LLVM/clang era.”

RecommendsComment from 24 Dec 2025 in “When Compilers Surprise You”

“It's an excellent compiler backend. It produces really good code. But it is incredibly slow, and for no good technical reason.”

MixedComment from 5 Dec 2025 in “CUDA-l2: Surpassing cuBLAS performance for matrix multiplication through RL”

“LLVM codegen has been almost always sufficient, but for a routine that essentially amounts to adding two fixed-size bigints”

MixedComment 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”

MixedComment from 4 Dec 2025 in “You can't fool the optimizer”

“you can view what the LLVM optimizer pipeline does, and which pass is actually responsible for doing which instruction”

RecommendsComment from 3 Dec 2025 in “You can't fool the optimizer”

“LLVM is also very modular which makes it easy to maintain forks for a specific backend”

RecommendsComment from 30 Nov 2025 in “LLVM-MOS – Clang LLVM fork targeting the 6502”

“Relatively standard CMake build with mostly self contained c++ codebase and few third party dependencies.”

RecommendsComment from 18 Nov 2025 in “Azure hit by 15 Tbps DDoS attack using 500k IP addresses”

“Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.”

RecommendsComment from 8 Nov 2025 in “Becoming a compiler engineer”

“the API is surprisingly benign and well documented for how difficult a task it accomplishes”

RecommendsComment from 8 Nov 2025 in “Becoming a compiler engineer”

“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”

CriticizesComment from 1 Nov 2025 on Hacker News

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.