历经 8 年的开发,QBE 1.0 已正式发布。
QBE 是一个纯 C 实现的嵌入式编译器后端,作者将 QBE 与 LLVM 对比,强调 QBE 的优势是简单高效,声称以 LLVM 的 10% 代码量达到其 70% 的性能水平。
主要特性
- 完全支持 C ABI
- 支持 IEEE 32 位和 64 位浮点数
- 使用统一且简单的基于 SSA 的中间语言 (IL)
- 在所有编译阶段使用相同的 IL
- Copy elimination
- 编译速度快(在
CFLAGS=-O2
的 Core 2 Duo 上为 2 秒) - ……
QBE 目前已经在下列平台上编译和并通过测试:
- Linux
- FreeBSD
- Mac OS X
编译 QBE 需要 GNU Make 和一个 C99 编译器。而 HTML 文档则使用一个 OCaml 程序根据正则文本文件来生成。