Flang and F18
Flang是一种Fortran语言前端,旨在与LLVM和LLVM优化器集成。
Flang + LLVM是设计用于共同安装的,具有产品级的Fortran解决方案,并且可以与Clang C ++完全互操作。
Flang单核和OpenMP性能现在与GNU Fortran相当。 Flang已实现了Fortran 2003,并通过OpenMP4.5版 的实现了针对多核CPU全部实现。
目前,在Flang框架下有两个与Fortran和LLVM相关的活动项目
- 当前发布 https://github.com/flang-compiler/flang 编译器
- 全新的 https://github.com/flang-compiler/f18 编译器一个新的前端,它将取代当前的flang.
在短期内,当前的Flang是产品级的Fortran编译器,支持Fortran 2003,Fortran 2008和OpenMP的某些功能。
我们相信,从2020年开始,F18将取代Flang作为Fortran 2018的完整实现。
F18: 新的Fortran前端
2018年4月17日,在EuroLLVM上发布了Fortran的新前端。
他正在使用现代C ++从头开始编写[https://github.com/flang-compiler/f18](F18前端)。它将与LLVM最佳实践紧密结合,并以LLVM和clang的样式编写。
F18已被批准成为LLVM的标准Fortran编译器,并且正在被LLVM适当采用。
当前的Flang:现有的Fortran 2003/2008编译器
已发布的Flang编译器基于NVIDIA/PGI商用Fortran编译器。flang于2015年宣布成立。2017年,源代码在GitHub上发布。
目前的Flang由3个相关项目组成:
- https://github.com/flang-compiler/flang-driver 是驱动程序, 来自 clang。
- https://github.com/flang-compiler/flang 是编译器的前端和中端的源码,产生LLVM IR。
- https://github.com/flang-compiler/llvm 是LLVM的一个分支,具有与Fortran相关的增强功能(特别是调试元数据支持)。这些变化正在被上游纳入LLVM。