LLVM Fortran 升级:告别 flang-new,欢迎 flang!

💡 原文英文,约3200词,阅读约需12分钟。
📝

内容提要

自2020年起,LLVM包含Fortran编译器Flang,经过多次重写和改进,Flang在LLVM 20中正式更名为flang,标志着重要里程碑。Flang开发近十年,旨在提升Fortran编程体验,支持科学计算等领域。

🎯

关键要点

  • 自2020年起,LLVM包含Fortran编译器Flang,Flang在LLVM 20中正式更名为flang,标志着重要里程碑。
  • Flang开发近十年,旨在提升Fortran编程体验,支持科学计算等领域。
  • Fortran于1950年代首次创建,专注于数学应用,解放程序员免于编写特定机器的汇编代码。
  • 近年来Fortran复兴,获得了包管理器和非官方标准库,LFortran编译器支持交互式编程。
  • Flang的早期合作伙伴是美国国家实验室和NVIDIA,旨在保留Fortran代码的实用性。
  • Flang和GFortran的多种实现可以降低单一项目的失败风险,促进语言特性的验证和反馈。
  • Flang的故事始于2015年,最初由PGI与美国国家实验室合作,PGI后来成为NVIDIA的一部分。
  • Flang的开发经历了多个重写,最终与LLVM项目结合,形成了现在的LLVM Flang。
  • Flang采用了MLIR(多级中间表示)来解决将高级语言特性映射到LLVM IR的困难。
  • Flang引入了HLFIR(高级Fortran中间表示)以优化Fortran数组操作。
  • Flang支持OpenMP,通过指令标记代码的并行性,编译器将其转换为OpenMP运行时库的调用。
  • Flang与Clang共享OpenMP支持代码,减少了重复工作。
  • Flang成为第一个使用Clang编译器驱动库的项目,能够处理多种目标和工具。
  • Flang的开发历程中,已有近10,000次提交,来自约400名不同的贡献者。
➡️

继续阅读