QBE 1.3: Metaprogramming, Performance, Cross-Platform Support

lwn.net · ⭐️ 8/10 · 2026-07-10

QBE 1.3 was released on June 2, 2026, adding roughly 7,000 lines of code while removing 1,500, introducing metaprogramming capabilities, performance improvements to close the CoreMark gap, and expanded cross-platform support. This release brings QBE closer to its goal of achieving 70% of GCC -O2 performance, making it a more viable compact backend for systems programming and compiler projects like Hare and cproc. The performance improvements focus on optimizing hot functions in the CoreMark benchmark, such as ee_isdigit() and crcu8(), through classic optimization passes. Metaprogramming simplifies backend development by generating code automatically.

Background

QBE is a compact compiler backend that uses static single-assignment (SSA) intermediate representation and supports the C ABI. It is designed to be small enough for a single developer to understand, targeting roughly 70% of the performance of industrial compilers like GCC and LLVM with only 10% of the code.

References

Discussion

In discussions following the release on Hacker News, participants noted that QBE shares a common technical lineage with other minimalist compiler projects like MIR and IR, but differs in its prioritization of compilation speed and maintainability over aggressive optimization.

Read original