QBE vs. LLVM
Both QBE and LLVM are compiler backends using an SSA representation. This document will explain why LLVM does not make QBE a redundant project. Obviously, everything following is biased, because written by me.
Visit c9x.me → On Hacker News Sep 2014 – Jun 2026
Software Engineering 5Programming Languages 3Tools & Productivity 1Systems & Performance 1
Both QBE and LLVM are compiler backends using an SSA representation. This document will explain why LLVM does not make QBE a redundant project. Obviously, everything following is biased, because written by me.
QBE is a compiler backend that aims to provide 70% of the performance of industrial optimizing compilers in 10% of the code. QBE fosters language innovation by offering a compact user-friendly and performant backend. The size limit constrains QBE to focus on the essential and prevents embarking on a never-ending path…
A short and self contained explanation that will guide you through an implementation of user threads.
Disclaimer: This software is not ready. I am using it and it is stable but I still have to make it feel great , if you have suggestions I would be glad to take them. I wrote a list of work that I will attempt in the future.
QBE 1.3 took a while to cook, but it is the most significant release since 1.0 with around 7k new lines of code and 1.5k deleted ones. In addition to the usual bug fixes, QBE gained a new and original IL matching algorithm, new optimizations from Roland Paterson-Jones, Scott Graham added support for the Windows ABI…