Rust GCC 代码生成器 “rustc_codegen_gcc” 现可引导 Rustc 本身


据外媒 Phoronix ,基于 libgccjit 为 Rustc 提供代码生成的 rustc_codegen_gcc 项目,现在终于能够引导 Rustc 本身了。目前,生成的 rustc 编译器至少可以编译一个简单的 Rust “Hello World!”程序。 是 rustc 的 GCC 代码生成器,它可以由现有的 rustc 前端加载,但可以从 GCC 中受益,因为rustc_codegen_gcc 能够利用 GCC 更多样化的 CPU 架构/平台支持。 rustc_codegen_gcc 旨在提供基于 GCC 的 Rust 编译器来替代基于 LLVM 的官方 Rust 编译器,目标是能够在 LLVM 不支持的平台上编译 Rust 代码。此外,第二个目标是检查使用 GCC 后端是否会为使用 rustc 编译的程序提供一些运行时速度改进。 虽然是一个令人振奋的里程碑,但目前仍有许多工作要做,包括围绕 SIMD 支持和其他优化。从开发人员 Antoni Boucher 的可以阅读关于该项目的更多内容,该 rustc_codegen_gcc 项目托管。

相關推薦

2022-12-10

到 GCC 主干,这意味着下一个版本的 GCC 将能编译 Rust 源代码。 据介绍,GCC Rust 补丁基于上游 GNU Compiler Collection 代码库重新编写,并为新的前端设置了布局骨架,还为 i386 和 ARM 提供初始 target hook,然后开始布局前端代码。

2023-04-27

中。 去年 12 月,Gccrs 被批准合并到 GCC 主线,所有 gccrs 代码也都被合并到了 GCC 13 上游代码库中。但时至今日,编译器仍未就支持 Rust 做好准备。开发人员 Philip Herron 和 Arthur Cohen 发文解释称: 我们的期望是,通过明确表示

2023-11-16

在形成。一个是 rustc 的 GCC codegen,该工具链无需修改源代码即可编译并启动主线 Rust 和 Linux。 另一个是 GCC Front-End for Rust,它可以由现有的 rustc 前端加载,但受益于 GCC 的优化;不过该项目仍处于 alpha 阶段。还有一个是 Coccinel

2022-09-20

权和生命周期的新 abstractions?” 7、内存模型和不安全代码 安全性是 Rust 主要特色之一,也是许多人使用它的动力。因此需要能够为从事不安全工作的程序员提供更多支持和更好的体验。要做到这一点,则需要对 Rust 的内存模

2022-04-21

去年 12 月,Ruby JIT 团队的成员提出,希望将 YJIT 代码库从 C99 移植到 Rust。虽然有不少开发者对此持保留意见,但这个项目最终得到了 Ruby 核心开发者以及创始人 Matz 的批准。 昨日,负责此项目的开发者表示已完成了使用 Rust

2023-12-30

d pointer::wrapping_byte_offset pointer::wrapping_byte_sub rustc 的代码布局优化 Rust 编译器的运行速度继续加快,此次发布的二进制版本采用了 BOLT 技术,使基准测试平均运行时间提高了 2%。该工具优化了包含大部分 rustc 代码的 librustc_

2022-07-02

RwLock由 Linux 上的 pthreads 库支持。pthreads 锁支持比 Rust API 本身更多的功能,包括运行时配置,并且被设计用于比 Rust 提供的 static guarantees 更少的语言中。例如,mutex 的实现是 40 字节,不能移动。这迫使标准库在幕后为使用 p

2023-02-12

种样式并不一定好。 最后一个改动是对 Rust 自己的引导代码进行了健全性修正。当 bootstrap 与 1.67 本身一起编译时,它确实引发了一个错误,而不是像往常一样与之前的 1.66 版本编译。 更多详情可查看:https://blog.rust-lang.org/

2023-08-29

cfg禁用项 现在支持使用 cfg 有条件地启用 Rust 代码,例如仅通过某些 crate 功能或仅在特定平台上提供某些功能。 以前,以这种方式禁用的项目实际上对编译器来说是不可见的。不过现在,编译器会记住这些项目的名

2022-07-29

frontend patches v1",这是由四个补丁组成的 GCC Rust 前端初始代码。他在 gcc-patches 列表中写道,“这是 Rust 前端补丁集的初始版本 1。对于我们已实现的所有 target hook,还有更多变化需要提取。目标是查看我们是否正在为 x86 和 a

2022-12-22

。 MuseScore 4 的新功能 全新管弦音色插件 Muse Sounds 现可将文件保存到 MuseScore.com 优化了“发布到 MuseScore.com”系统流程 播放配置(MS Basic 和 MuseSounds)之间现可快捷切换 全新界面 400个新图标 可定制的主题色彩

2022-11-09

可以通过总管理后台一键升级。 增加 WriteCode自动写代码 内置,可根据数据表自动写出代码。 增加[html压缩]插件,可以生成整站后,自动将本系统所带的html注解的标签去掉。 [OEM定制]插件,增加系统设置-域名绑定

2022-12-26

比 yjit-bench 上的 Ruby 解释器快 41%(几何平均值)。 JIT 代码的物理内存是延迟分配的。与 Ruby 3.1 不同,Ruby 进程的 RSS 被最小化,因为--yjit-exec-mem-size分配的虚拟内存页在 JIT 代码实际使用之前不会映射到物理内存页。 引入 Co

2022-12-16

了 GCC Rust 前端“gccrs”被合并到 GCC 13 的 GNU 编译器集合代码库中。据外媒 Phoronix 报道, GCC Modula-2 语言前端代码也已经完成合并。 Modula-2 是 Pascal 语言之父 Niklaus Wirth 在 1980 年代开发的语言之一,作为一种过程编程语言,