<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="moz-cite-prefix">On 1/13/20 11:02 AM, James Y Knight wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAA2zVHqSOy5=j+802coGBRuhtXNqb0S2JKKhPEu5Db+-4=hx7A@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Neat, another fortran compiler option.
<div><br>
</div>
<div>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?
<div>
<div><br>
</div>
<div>"Flang". The original of the name, I think? Abandoned.<br>
<a href="https://github.com/llvm-flang/flang" target="_blank" moz-do-not-send="true">https://github.com/llvm-flang/flang</a><br>
"Fort" -- fork of the above flang, renamed. Seems active.<br>
<a href="https://github.com/llvm-fortran/fort/" target="_blank" moz-do-not-send="true">https://github.com/llvm-fortran/fort/</a><br>
<br>
</div>
<div>"Flag". Different from the other "flang". Active, but deprecated in favor of f18.</div>
<div><a href="https://github.com/flang-compiler/flang" target="_blank" moz-do-not-send="true">https://github.com/flang-compiler/flang</a><br>
</div>
<div>"f18". Rewrite-from-scratch (?) of adjacent "flang". Active, but not fully-functional yet (I think?).</div>
<div><a href="https://github.com/flang-compiler/f18" target="_blank" moz-do-not-send="true">https://github.com/flang-compiler/f18</a><br>
</div>
<div><br>
</div>
<div>
<div>"FC". Newly-developed, independent of the other compilers. Active. (But this source-code dates from the previous announcement, not yet updated with latest developments):<br>
<a href="https://github.com/compiler-tree-technologies/fc" target="_blank" moz-do-not-send="true">https://github.com/compiler-tree-technologies/fc</a><br>
</div>
</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<p><br>
</p>
<p>I don't view what we're doing, or should be doing, as selecting one of them. We should have a Fortran frontend in the LLVM project. It should be called Flang. It should be developed by a broad subset of our LLVM community.</p>
<p>A decision was made that it would be reasonable to import from the f18 project to start this process, in part because the founding purpose of the f18 activity was to produce a modern Fortran compiler in modern C++ that would fit with the LLVM community.
 Its development process has been open, many of us have been involved, and so on. Very important, however, is that it's under active development and that it's far from done. I want the design and implementation of the Frontend to be an LLVM community effort,
 and the best way for that to happen is for the process to happen under the umbrella of the LLVM project. Critically, this is what those involved the current f18 development actively desire.</p>
<p>I can't say all of the same about the other projects. However, I think that it is important to make clear that LLVM's Flang project is a community project and everyone who wishes to be a part of that community is welcome. As I see it, we now have a significant
 pool of people with LLVM/Fortran development experience who can, if they choose, contribute to our effort, and I actively encourage them to do so. That means that we might end up doing some things more-or-less like f18 does them now, and we might end up doing
 other things more-or-less like FC does them now, and so on. It all depends on who contributes and what feedback they receive from everyone else.</p>
<p>Thanks again,</p>
<p>Hal<br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:CAA2zVHqSOy5=j+802coGBRuhtXNqb0S2JKKhPEu5Db+-4=hx7A@mail.gmail.com">
<div dir="ltr"><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Jan 13, 2020 at 2:46 AM Prashanth N R via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" moz-do-not-send="true">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi Chris-
<div>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. </div>
<div><br>
</div>
<div>thanks,</div>
<div>-Prashanth</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Jan 13, 2020 at 11:17 AM Chris Lattner <<a href="mailto:clattner@nondot.org" target="_blank" moz-do-not-send="true">clattner@nondot.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
                0.8ex;border-left:1px solid
                rgb(204,204,204);padding-left:1ex">
<div>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?
<div><br>
</div>
<div>-Chris<br>
<div><br>
<blockquote type="cite">
<div>On Jan 11, 2020, at 11:58 AM, Finkel, Hal J. via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a>> wrote:</div>
<br>
<div>
<div>
<p>Hi, Prashanth,</p>
<p>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.</p>
<p> -Hal<br>
</p>
<div>On 1/11/20 12:52 PM, Prashanth N R via llvm-dev wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi-
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>Entire code is in the spirit of LLVM. If the community is interested, we would like to work with the community and move forward. </div>
<div><br>
</div>
<div>thanks,</div>
<div>-Prashanth</div>
<div><br>
</div>
<div>PS: We did try to use F18 for a while and hit the issues raised in [2], [3].</div>
<div><br>
</div>
<div>1. <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html" target="_blank" moz-do-not-send="true">http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html</a></div>
<div>2. <a href="http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html" target="_blank" moz-do-not-send="true">http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html</a></div>
<div>3. <a href="http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf" target="_blank" moz-do-not-send="true">http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf</a></div>
<div>OR <a href="http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html" target="_blank" moz-do-not-send="true">http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html</a></div>
<div><br>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" moz-do-not-send="true">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<pre cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" moz-do-not-send="true">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
<pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>