Prashanth N R via llvm-dev
2019-Aug-19 09:46 UTC
[llvm-dev] FC: A new LLVM based Fortran Frontend
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/llvm-dev/attachments/20190819/9565ab86/attachment.html>