大家好,这里是 ZAMBAR He [1],下面是我在 TUNA OSPP 2025 的 GCC 项目中的第二次简报:
项目基本信息 * 项目名称:GCC-Fortran 的 Function Multi-Versioning 功能实现
* 项目导师:陈泱宇
* 项目基本要求:1.
基于 GCC master 分支,为 Fortran 语言的 `subroutine` 与 `function` 声明添加
`target` /
`target_clones` 的 ATTRIBUTES 支持。2. 将该实现提交给开源上游
项目完成情况与计划
本月主要的成果有:
1. 基本解决了 `target_clones` 的其它问题,ABI 造成的部分差异符合预期行为。
2. 完成了 `target` 的最初版本,行为符合 C 预期。但相比 C++ 中,缺少支持同名函数指定 `target`
后可以自动创建 dispatcher 并且实现 fallback 的核心功能。这是由于 Fortran
在前端就直接对符号进行了重复检查导致的。
3. 写了相关的简单测试用来保证 `target_clones` 和 `target` 的部分基本行为。
下个月主要的任务是:
1. 对 LTO 进行相关的额外测试验证进行补充并集成到 GCC。
2. 尝试对 Fortran 的前端分析进行延迟或者特判,保证 target 的 fallback 语义能正常执行。
3. 分析现有的 OpenMP 等实现,探究 Fortran 下更好的语义/行为,尝试再次和上游沟通。
--
Best regards.
贺泽邦, Zebang He
Github [1] / Website [2]
[1] ZAMBAR He https://github.com/HeZeBang/
[2] Website https://hezebang.github.io/
--
您收到此邮件是因为您订阅了 Google 群组的“TUNA 主邮件列表”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。
如需查看此讨论,请访问
https://groups.google.com/d/msgid/tuna-general/b2c3f710d79fee5014327f13680b1359f1872e6f.camel%40163.com。