概述
查看帮助
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使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复