3 ms·
It could allow C to close the gap in the future, but it's not there yet. Fortran is fundamentally and pervasively noalias, and its compilers have decades of exp
by lmkg 5y ago
It could allow C to close the gap in the future, but it's not there yet. Fortran is fundamentally and pervasively noalias, and its compilers have decades of experience operating under that assumption. C/C++ doesn't use it nearly as much, and as a result the parts of the compilers that use it aren't very mature.
Rust is also pervasively noalias, but it's taken years for it to actually enable "noalias" on LLVM. Rust code uses that feature more than it's ever been used before, which keeps exposing codegen bugs that no one noticed before. Once those get flushed out, I still expect it will take a while for the resulting optimizations to reach the quality & maturity that Fortran has had.
- zozbot234 5y agoThat's exactly why it matters that LLVM is officially getting a Fortran frontend. This will make it possible to leverage these optimization strategies and bug fixes across languages and projects.
- leephillips 5y agoIt also allows the existence of a Fortran REPL, something I never thought I would see: https://lfortran.org/ https://lfortran.org/
- tobmlt 5y agoThis whole conversation has been very insightful. From the noalias = no panacea To the Fortran repl Thank you. This was inspiring. Maybe it’s time I learn me some llvm too. Cheers.