<div dir="ltr"><div dir="ltr"><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">A new front end for Fortran ( <a href="https://github.com/compiler-tree-technologies/fc">https://github.com/compiler-tree-technologies/fc</a> ) 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. </div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Major supported features inlcudes:</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">1. Nested do, do-while, where, select-case, forall, implied-do constructs,</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">2. Handling/Expanding Array Section expressions, Array constructors,</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">3. IO Handling: File read/write with basic Formatting support.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">4. Support for around 40 Fortran Intrinsics like transpose, reshape, min, max, sum, etc</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">5. Nested Functions/ Module/ Subroutines.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">6. Derived types are partially supported(WIP)</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">7. Dynamic memory handling (allocate statement) using malloc/free.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">8. Very basic Debugging / TBAA support.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">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.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Feedback/ comments are welcome.</div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br></div><div dir="auto" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Thanks,</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Prashantha N.R.</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Compiler Tree Technologies</div></div></div>