QBE 1.0 正式发布,编译器后端


历经 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 程序根据正则文本文件来生成。


相關推薦

2022-07-06

行了大量的错误修正,以允许运行转译好的 DOOM.v 用 V 编译器构建的程序不再默认泄漏内存 Vlang Closures 支持所有的操作系统 Option 和 Result 现在是独立的类型,旧的代码将在未来 1 年内可以继续正常使用 在类型检查器中增

2023-11-11

、代码导航和重命名重构 针对 Win64 的基于 Clang 的 C++ 编译器的显着更新预览,支持最新的 C++ 标准语言功能,并提供与外部库和 C++ 代码的更好集成 Delphi 添加新语法,包括多行字符串文字,以满足一些相关的客户端请求

2022-06-20

Tauri 1.0 已正式发布。 Tauri 是一个桌面 UI 框架,可让开发者使用每个平台的 Webview 技术栈为所有主要桌面操作系统构建应用程序,目前支持 Windows/macOS/Linux 等平台。开发者通过 Tauri 几乎可以使用任何编译为 HTML、JS 和 CSS 的前端

2024-02-05

次更新着眼于解决关键的第三方项目问题、修复bug、提升编译器性能以及实施增量编译的战略。同时,Andrew还分享了关于为Zig软件基金会(ZSF)筹集资金和实现1.0版本目标的宝贵信息。 即将到来的版本:专注于质量而非时间 Zi

2023-12-14

Hyper 1.0-rc4 的最后一个版本,不久就会发布基于 Hyper 1.0 正式版本的下一个版本。 特色: - 有着比 axum 等更丰富的功能,但却更易于上手。 - 跟 go 等其他语言框架更接近,比 Rust 语言各个 Web 框架更少的类型系统的烦恼。 -

2022-10-07

增加了对 Qt6 环境的支持 添加了 MSVC++ 17.1 和 MSVC++ 17.2 编译器的定义 为 Observability 插件添加了报告 JSON 生成器,以便进行回归测试 添加了 OpenBSD 为 GPS 支持而修改的补丁 添加了可能缺少的时区 在搜索窗口位置标签中添

2022-09-22

ode Alliance 开发的 WebAssembly runtime,采用 Rust 编写,构建于编译器 Cranelift 之上。Wasmtime 完全开源,符合 WASI 标准,还支持与 C/C++、Python、.NET、Go 和其他编程语言集成,可运行在 Windows/Linux/macOS 等平台。 Bytecode Alliance 在 1.0 发布

2023-04-15

经过几个月的开发,FerretDB 现在已经达到生产可用了,这是一个开源的 MongoDB 替代品,建立在 PostgreSQL 之上,并在 Apache 2.0 许可下发布。 FerretDB 希望将 MongoDB 数据库的工作负载带回其开源的本源,使 PostgreSQL 和其他数据库后

2023-04-05

来描述各种图形元素,同时易于阅读、编写和学习 Slint 编译器对描述 UI 的代码进行优化并翻译成原生代码 采用任何语言编写的业务逻辑,可通过使用 Slint 提供的特定于语言的 API 与 UI 连接 Slint 架构如下: 控件支持:

2023-02-08

用重量级和耗费 runtime 开销的 Python 虚拟机。 近日,mypy 正式发布了 1.0 版本,引入了新特性、优化了性能以及修复错误等。 主要变化 采用新的版本号命名规则 由于 mypy 版本号已进入 1.0 阶段,因此开发团队决定切换到新

2022-08-12

Taichi(太极)v1.1.0 已经发布,这是专为高性能计算机图形学设计的编程语言。 具体更新内容如下: 新的功能 量化数据类型 高分辨率模拟可以提供出色的视觉质量,但通常受到板载 GPU 内存容量的限制。此版本添加了量化

2022-06-22

历经一年多的开发,mojo.js 终于发布了首个主要版本 1.0。 mojo.js 是 Node.js 实时 Web 框架,可将它视作采用 TypeScript 重写的 Mojolicious(Mojolicious 是 Perl 开发的 Web 框架)。mojo.js 使用了所有最新的 JavaScript 特性,专为聚焦超媒体

2022-12-25

Meson 1.0 已正式发布,此版本带来如下增强改动: 支持带有“prefix”关键字参数的数组, 从 cpp/objcpp 警告级别 1 中删除一些标志 各种开发环境改进 支持字符串上的“in”运算符 “warning-level= everything”选项 Rust 模块被

2022-10-26

IHP 在发布首个公开版本两年后,终于推出了 1.0 正式版。开发团队表示,在 1.0 的开发周期中,总共发布了 34 个版本,包含超过 4700 次 commit 和 800 个 PR。 IHP 是一个现代的开箱即用 (batteries-included) Haskell Web 框架,基于 Hask