[llvm-dev] FC : A MLIR+LLVM based Fortran front end

Petr Penzin via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 19 22:27:14 PST 2020


Hi Prashanth,

Do those benchmarks run? They seem to be relatively short (bwaves [1], 
exchange [2]), but if the runs verify correctly that would be pretty good.

Do you plan on supporting any of the Fortran 2003 features?


-Petr

[1]: https://www.spec.org/cpu2017/Docs/runcpu-avoidance.html#pickone

[2]: https://www2.hawaii.edu/~nreed/ics606/papers/Metcalf06Sudoku.pdf

On 2/17/20 9:19 AM, Prashanth N R wrote:
> Hi Petr-
>
> 1. We compile SPEC benchmarks bwaves and xchange currently. We are 
> close to compiling fotonik at this point.
> 2. We released the source as experimental for the community to take a 
> look. Soon we will open source the entire history of development(we 
> are working on the script to upload the history).
>
> thanks,
> -Prashanth
>
> On Mon, Feb 10, 2020 at 4:20 AM Petr Penzin via llvm-dev 
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
>
>     *FC*
>     https://github.com/compiler-tree-technologies/fc
>     Not related to any of the above, but seems to be in some ways
>     similar to Clang/(old)Flang/Fort. Recursive descent parser; emits
>     MLIR. Does not use tablegen, has a different way of throwing
>     errors, has no builtin diagnostics, also no driver. Project has
>     only seven commits to this date. Not clear on the Fortran standard
>     support (has flags to support f77 and f95), the claim that it can
>     compile a couple of larger application from SPEC, but I can't find
>     which ones.
>
>
>     On 1/13/20 9:02 AM, James Y Knight via llvm-dev wrote:
>>     Neat, another fortran compiler option.
>>
>>     Does anyone have a list/comparison of all the LLVM fortran
>>     compilers? I'm not really tracking this, since Fortran isn't
>>     really my area of expertise, but I've seen the following. Perhaps
>>     there are even more?
>>
>>     "Flang". The original of the name, I think? Abandoned.
>>     https://github.com/llvm-flang/flang
>>     "Fort" -- fork of the above flang, renamed. Seems active.
>>     https://github.com/llvm-fortran/fort/
>>
>>     "Flag". Different from the other "flang". Active, but deprecated
>>     in favor of f18.
>>     https://github.com/flang-compiler/flang
>>     "f18". Rewrite-from-scratch (?) of adjacent "flang". Active, but
>>     not fully-functional yet (I think?).
>>     https://github.com/flang-compiler/f18
>>
>>     "FC". Newly-developed, independent of the other compilers.
>>     Active. (But this source-code dates from the previous
>>     announcement, not yet updated with latest developments):
>>     https://github.com/compiler-tree-technologies/fc
>>
>>     I don't know how any of these compare with each other, nor why we
>>     have so many. I have no opinion on which or whether any of these
>>     should be "blessed", nor do I really want to become educated
>>     enough on this topic to gain such an opinion personally.
>>
>>     But, given that there appear to be at least 3 fortran compilers
>>     under active development by different people, I would love to be
>>     reassured that such a comparison has been done, and that we are
>>     selecting one of them for good reasons. It'd be great if someone
>>     (or multiple someones) could post a summary/comparison of what
>>     these things all are, and why one is the right path forward vs
>>     another.
>>
>>     On Mon, Jan 13, 2020 at 2:46 AM Prashanth N R via llvm-dev
>>     <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>>         Hi Chris-
>>         We are mostly cleaning up the code for open sourcing. Early
>>         code drop will happen in a day or two and will continue
>>         through this week. We would love to work with the rest of the
>>         community on this.
>>
>>         thanks,
>>         -Prashanth
>>
>>         On Mon, Jan 13, 2020 at 11:17 AM Chris Lattner
>>         <clattner at nondot.org <mailto:clattner at nondot.org>> wrote:
>>
>>             Agreed!  Is the code already available? What are your
>>             plans for it, and are you interested in collaboration
>>             with the rest of the LLVM community?
>>
>>             -Chris
>>
>>>             On Jan 11, 2020, at 11:58 AM, Finkel, Hal J. via
>>>             llvm-dev <llvm-dev at lists.llvm.org
>>>             <mailto:llvm-dev at lists.llvm.org>> wrote:
>>>
>>>             Hi, Prashanth,
>>>
>>>             That's great news! It sounds like you've made a lot of
>>>             progress, and I certainly hope that you can make your
>>>             source available under the LLVM license and that we can
>>>             all work together going forward.
>>>
>>>              -Hal
>>>
>>>             On 1/11/20 12:52 PM, Prashanth N R via llvm-dev wrote:
>>>>             Hi-
>>>>
>>>>             In August we made an announcement  of "FC: A new
>>>>             fortran front end"  [1]. At that time to get an
>>>>             end-to-end solution, we made FC to emit LLVM IR
>>>>             directly.  At present, we have upgraded FC to emit
>>>>             MLIR. Currently the language supported is close to
>>>>             Fortran-95. Apart from 400+ unit test cases, out
>>>>             framework passes two SPEC-2017 benchmarks
>>>>             successfully.  Currently we are cleaning up the code
>>>>             and plan to open source the same in a week or so.
>>>>
>>>>             Apart from the front end changes, we have defined a new
>>>>             high level dialect in MLIR for representing Fortran. We
>>>>             have defined a new Loop Nest Optimization framework
>>>>             along with one Loop Nest Optimization in it for the
>>>>             time being. Also we have supported 4 OpenMP constructs
>>>>             and way to express the same in MLIR framework.
>>>>
>>>>             Entire code is in the spirit of LLVM. If the community
>>>>             is interested, we would like to work with the community
>>>>             and move forward.
>>>>
>>>>             thanks,
>>>>             -Prashanth
>>>>
>>>>             PS: We did try to use F18 for a while and hit the
>>>>             issues raised in [2], [3].
>>>>
>>>>             1.
>>>>             http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html
>>>>             2.
>>>>             http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html
>>>>             3.
>>>>             http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf
>>>>             OR
>>>>             http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html
>>>>
>>>>
>>>>             _______________________________________________
>>>>             LLVM Developers mailing list
>>>>             llvm-dev at lists.llvm.org  <mailto:llvm-dev at lists.llvm.org>
>>>>             https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>             -- 
>>>             Hal Finkel
>>>             Lead, Compiler Technology and Programming Languages
>>>             Leadership Computing Facility
>>>             Argonne National Laboratory
>>>             _______________________________________________
>>>             LLVM Developers mailing list
>>>             llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>>>             https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>         _______________________________________________
>>         LLVM Developers mailing list
>>         llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>>         https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>     _______________________________________________
>>     LLVM Developers mailing list
>>     llvm-dev at lists.llvm.org  <mailto:llvm-dev at lists.llvm.org>
>>     https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200219/f3276f23/attachment.html>


More information about the llvm-dev mailing list