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

Prashanth N R via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 17 09:19:04 PST 2020


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> 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> 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>
>> 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> 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 listllvm-dev at lists.llvm.orghttps://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
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>>
>>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
> _______________________________________________
> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> 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/20200217/2f2c9ff7/attachment.html>


More information about the llvm-dev mailing list