[flang-dev] FC: LLVM based Fortran Frontend

Prashanth N R via flang-dev flang-dev at lists.llvm.org
Mon Aug 19 06:57:02 PDT 2019


A new front end for Fortran
(https://github.com/compiler-tree-technologies/fc ) has been written
in the
design spirit of LLVM/Clang. This is a prototype version with approximately
20K+ lines of code. The compiler is close to Fortran 95 standard. The Front
end is a complete end to end solution without semantic analysis. It
compiles and runs 400+ unit test cases and 2 (503.bwaves_r and
548.exchange2_r) SPEC CPU 2017 Fortran benchmarks.

Major supported features inlcudes:
1. Nested do, do-while, where, select-case, forall, implied-do constructs,
2. Handling/Expanding Array Section expressions, Array constructors,
3. IO Handling: File read/write with basic Formatting support.
4. Support for around 40 Fortran Intrinsics like transpose, reshape, min,
max, sum, etc
5. Nested Functions/ Module/ Subroutines.
6. Derived types are partially supported(WIP)
7. Dynamic memory handling (allocate statement) using malloc/free.
8. Very basic Debugging / TBAA support.

LLVM code generated is fairly optimized. The performance in SPEC becnhmarks
are comparable(better in few cases) to flang and gfortran compilers in both
speed and rate runs.

Feedback/ comments are welcome.

Thanks,
Prashantha N.R.
Compiler Tree Technologies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20190819/c783f32c/attachment.html>


More information about the flang-dev mailing list