Advertisement

LLVM基Fortran编译器分析

阅读量:

简介

本文内容以LLVM 13.0.0为基础。

当前,与LLVM相关的Fortran编译器(或驱动程序)共计有三种,分别为flang、f18以及flang-new。

flang源自pgfortran的开源版本,其开发基础是PGI/NVIDIA所提供的商业Fortran编译器,该工具并不隶属于LLVM项目。2018年时,NVIDIA团队推出了新的Fortran前端——f18。该前端采用现代C++语言从零开始编写,并且紧密贴合LLVM的最佳实践,其代码风格也与LLVM及clang保持一致。目前,f18已被列为LLVM的一个子项目。而flang-new则是作为新一代的flang驱动程序出现,未来将逐步替代f18驱动。目前flang-new尚未实现从Fortran源代码生成.out文件的完整流程;相比之下,f18虽然能够生成.out文件,但需要依赖外部编译器完成,默认情况下所使用的外部编译器为gfortran。

下表详细列出了f18与flang-new在编译器驱动和前端驱动方面的具体区分。其中,编译器驱动程序可让用户对所有编译阶段进行控制(包括预处理、前端代码生成、中间及后端代码优化与降级、链接等)。而前端驱动程序则负责将所有前端库进行整合,并为用户提供一个操作简便且直观的接口以调用前端功能。

|Compiler driver|Frontend driver||
|-

全部评论 (0)

还没有任何评论哟~