QBE – Compiler Backend – 1.3
birdculture
90 points
29 comments
June 02, 2026
Related Discussions
Found 5 related stories in 176.4ms across 9,294 title embeddings via pgvector HNSW
- QBE – Compiler Back End smartmic · 88 pts · May 08, 2026 · 92% similar
- Writing a C Compiler, in Zig (2025) tosh · 150 pts · April 23, 2026 · 49% similar
- I Fuzzed, and Vibe Fixed, the Vibed C Compiler luu · 17 pts · March 02, 2026 · 49% similar
- Noq: n0's new QUIC implementation in Rust od0 · 179 pts · March 19, 2026 · 48% similar
- SBCL: the ultimate assembly code breadboard (2014) yacin · 138 pts · May 20, 2026 · 47% similar
Discussion Highlights (7 comments)
supergarfield
I really want to like QBE, but declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software: int t, x, r, rf, rt, nr; bits rs; Ins *i, *i1; Mem *m; Ref *ra[4]; I think it deters some users by making it hard to read and understand the relatively subtle code in the 300 line function that follows. (Skill issue, I know)
klardotsh
Windows support is huge. One of the barriers to me considering QBE for a project in recent memory was that it had no story for proprietary OSes (Windows, MacOS), and whether I like it or not, those make up the overwhelming majority of desktop-like market share. (this is the same reason I find Hare, a language that builds with QBE, interesting but not practical for my own uses - targeting only Linux and the BSDs is a non-starter, even if I personally am a Linux-only guy)
dang
Related. Others? QBE – Compiler Back End - https://news.ycombinator.com/item?id=48059633 - May 2026 (28 comments*) Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE - https://news.ycombinator.com/item?id=48058644 - May 2026 (55 comments) Qbecc – QBE based C compiler - https://news.ycombinator.com/item?id=45461195 - Oct 2025 (3 comments) Let's write a peephole optimizer for QBE's ARM64 back end - https://news.ycombinator.com/item?id=45099348 - Sept 2025 (1 comment) QBE – Compiler Back End - https://news.ycombinator.com/item?id=40346320 - May 2024 (37 comments) cproc – Small C11 compiler based on QBE - https://news.ycombinator.com/item?id=32466098 - Aug 2022 (1 comment) QBE 1.0 - https://news.ycombinator.com/item?id=31846433 - June 2022 (3 comments) I wrote a peephole optimizer for QBE - https://news.ycombinator.com/item?id=30864448 - March 2022 (5 comments) Cproc C Compiler - https://news.ycombinator.com/item?id=28242024 - Aug 2021 (45 comments) Cproc – a C11 compiler using QBE as a back end - https://news.ycombinator.com/item?id=25273918 - Dec 2020 (1 comment) QBE vs. LLVM - https://news.ycombinator.com/item?id=25273907 - Dec 2020 (99 comments) Show HN: QBE – a new compiler back end - https://news.ycombinator.com/item?id=11555527 - April 2016 (68 comments) (* Normally a thread that recent with significant comments would count as a dupe ( https://news.ycombinator.com/newsfaq.html ), but it didn't get that much frontpage time so I've made an exception.)
r2ob
Is QBE intended for production use, or is it primarily a research/educational project?
opem
So will hare now support windows?
torginus
I love that there are compilers beside the big 2 with a simple API, and small enough codebase, that produce decent-enough code, but damn did I make an honest effort to crack the QBE source code, and it is just impenetrable , not only because the difficulty of the domain, but the code is just arcane. It was one of the projects that made me realize what the arcane wizened sages of olden C were capable of - C is not as much a programming language with best practices as a template for one - and many competing ideas and interesting ways of coding have emerged over the ~40 years of C dominance (starting from the emergence of the language, to the early 2000s, around when for various reasons, OOP kinda 'won') - if one abandons all pretense of safety and comfort. There's this project and MIR - both have the same mad science DNA, QBE being a bit more friendly and well documented, with MIR making faster code - boiling down mostly to the architectural decision that MIR does inlining while QBE does not.
luikore
Nearly ideal. The only stopper for me is missing a way to add source level debugging info.