大家好,这里是 ZAMBAR He,下面是我在 TUNA OSPP 2025 的 GCC 项目中的第一次简报:

项目基本信息
项目名称:GCC-Fortran 的 Function Multi-Versioning 功能实现
项目导师:陈泱宇
项目基本要求:1. 基于 GCC master 分支,为 Fortran 语言的 `subroutine` 与 `function` 声明添加 
`target` / `target_clones` 的 ATTRIBUTES 支持。2. 将该实现提交给开源上游

项目完成情况与计划


本月主要的成果有:
针对 `target_clones` 做出了适配,目前在调用 GCC 已有的基础设施的基础上主要修改了 gfortran 的前端解析和中端处理,目前实现支持 
C 风格的类似 `TARGET_CLONES("default", "avx512f")` 的语法传递并能正确生成
本地书写简单测试,验证了 `SUBROUTINE` 和 `FUNCTION` 中的 Resolver 生成和调用行为均有效
目前由于 ABI 的差异导致某些场景下 Fortran 的函数公共性与 C/C++ 有所出入,带来诸如 Binding 
类型和函数汇编名称上的差异,正在核实和尝试与上游沟通
语法和行为相关 RFC 已经提交到 GCC/Fortran 上游等待上游意见
下个月主要的任务是:
适配 `target` 的 ATTRIBUTE
开始着手书写集成 GCC 测试代码
对 LTO 进行相关的额外测试验证,并且与上游沟通意见和改进语法。







--

Best regards.

贺泽邦, Zebang He
Github / Website

-- 
您收到此邮件是因为您订阅了 Google 群组的“TUNA 主邮件列表”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。
如需查看此讨论,请访问 
https://groups.google.com/d/msgid/tuna-general/64abe700.a002.198430cd941.Coremail.zambar%40163.com。

回复