我是靠谱客的博主 搞怪帆布鞋,最近开发中收集的这篇文章主要介绍llvm flang使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查看帮助

flang -help

Flang编译器支持接受所有clang 4.0编译器选项,并支持许多以及以下特定于flang的编译器选项:

  • -noFlangLibs Do not link against Flang libraries
  • -mp Enable OpenMP and link with with OpenMP library libomp
  • -nomp Do not link with OpenMP library libomp
  • -Mbackslash Treat backslash character like a C-style escape character
  • -Mno-backslash Treat backslash like any other character
  • -Mbyteswapio Swap byte-order for unformatted input/output
  • -Mfixed Assume fixed-format source
  • -Mextend Allow source lines up to 132 characters
  • -Mfreeform Assume free-format source
  • -Mpreprocess Run preprocessor for Fortran files
  • -Mrecursive Generate code to allow recursive subprograms
  • -Mstandard Check standard conformance
  • -Msave Assume all variables have SAVE attribute
  • -module path to module file (-I also works)
  • -Mallocatable=95 Select Fortran 95 semantics for assignments to allocatable objects (Default)
  • -Mallocatable=03 Select Fortran 03 semantics for assignments to allocatable objects
  • -static-flang-libs Link using static Flang libraries
  • -M[no]daz Treat denormalized numbers as zero
  • -M[no]flushz Set SSE to flush-to-zero mode
  • -Mcache_align Align large objects on cache-line boundaries
  • -M[no]fprelaxed This option is ignored
  • -fdefault-integer-8 Treat INTEGER and LOGICAL as INTEGER8 and LOGICAL8
  • -fdefault-real-8 Treat REAL as REAL*8
  • -i8 Treat INTEGER and LOGICAL as INTEGER8 and LOGICAL8
  • -r8 Treat REAL as REAL*8
  • -fno-fortran-main Don't link in Fortran main

我编写了一个f90的hello world,来讲述flang的使用。

代码如下:

program main
write(*,*) "hello fortran world."
end program main 

使用flang产生IR文件

flang -emit-llvm helloworld.f90 -S -o helloworld.ll

我们也可以在此过程中加入 -O3选项,来进一步优化。

flang -O3 -emit-llvm helloworld.f90 -S -o helloworld.ll

生成bitcode

llvm-as helloworld.ll

生成.o文件

llc -filetype=obj helloworld.bc -o helloworld.o

产生可执行文件

flang helloworld.o -o helloworld

运行

./helloworld
hello fortran world

最后

以上就是搞怪帆布鞋为你收集整理的llvm flang使用的全部内容,希望文章能够帮你解决llvm flang使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部