<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Trebuchet MS";
        panose-1:2 11 6 3 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:279603909;
        mso-list-template-ids:-1807071262;}
@list l1
        {mso-list-id:374963343;
        mso-list-template-ids:-1527323148;}
@list l2
        {mso-list-id:399788643;
        mso-list-template-ids:-299752120;}
@list l2:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3
        {mso-list-id:463275996;
        mso-list-template-ids:-2080107220;}
@list l3:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4
        {mso-list-id:986977924;
        mso-list-type:hybrid;
        mso-list-template-ids:-629227326 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l4:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l4:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l4:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l5
        {mso-list-id:1975869083;
        mso-list-template-ids:1686022544;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">This is to follow up from the conversation on the last group call.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>General Status?<br>
</b>The code in the flang-compiler/f18-llvm-project:fir-dev branch (aka: fir-dev) implements a functional pathway (with two distinct and operational bridges) from the flang front-end (parser and semantics checks) for the Fortran 77 standard. Using our testing
 tools (as a driver substitute – the actual driver is a work in progress itself), one can compile Fortran 77 programs to object files, link them with the flang runtime, and have correct, operational executables.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Changes to MLIR?<br>
</b>The fir-dev branch presently has a few small changes directly in MLIR (files in the mlir/ directory) that need to be upstreamed and completed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo3">Attaching more flavors of LLVM IR argument attributes. [DONE]
<a href="https://reviews.llvm.org/D94052">https://reviews.llvm.org/D94052</a><o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo3">Adding support for linkages to MLIR’s FuncOp.
<a href="https://llvm.discourse.group/t/rfc-adding-better-support-for-higher-precision-floating-point/2526">
https://llvm.discourse.group/t/rfc-adding-better-support-for-higher-precision-floating-point/2526</a><o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo3">Adding support for floating-point of higher precision than double.
<a href="https://llvm.discourse.group/t/linkage-and-standard-dialect-funcop/2516">
https://llvm.discourse.group/t/linkage-and-standard-dialect-funcop/2516</a><o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l4 level1 lfo3">Adding a way to use zeroinitializer when building LLVM-IR dialect.
<a href="https://llvm.discourse.group/t/zero-initialization-for-globals-with-common-linkage/1762">
https://llvm.discourse.group/t/zero-initialization-for-globals-with-common-linkage/1762</a><o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Progress can be made with upstreaming the lowering and codegen bridges from fir-dev while the details of (2), (3), and (4) are worked through.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Somewhat aside but worth repeating perhaps: the FIR dialect <i>
is</i> MLIR in that it is built upon and with, makes heavy use of, and is conceptually co-mingled with MLIR extensively. The evolved (and evolving) FIR dialect will also need to be brought up to date in llvm-project in the upstreaming process. (The FIR dialect
 is the output of the lowering bridge and the input of the codegen bridge.)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">Eric<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> flang-dev <flang-dev-bounces@lists.llvm.org> <b>
On Behalf Of </b>Clement, Valentin via flang-dev<br>
<b>Sent:</b> Wednesday, January 6, 2021 7:20 AM<br>
<b>To:</b> Richard Barton <Richard.Barton@arm.com>; McCormick, Pat <pat@lanl.gov>; flang-dev@lists.llvm.org<br>
<b>Subject:</b> Re: [flang-dev] RFC: 'fir-dev' merge with llvm-project/flang main repo<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="1" cellspacing="5" cellpadding="0" style="background:#FFEB9C">
<tbody>
<tr>
<td style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><b><span style="font-size:7.5pt;font-family:"Verdana",sans-serif;color:black">External email: Use caution opening links or attachments</span></b><span style="font-size:7.5pt;font-family:"Verdana",sans-serif;color:black">
</span><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Is there any update on this? As far as I can remember development on fir-dev has been reviewed at least by one person also present on Phabricator. Of course, a second review would not hurt. Looking forward to have this upstreamed as soon
 as possible. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">Valentin<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">flang-dev <</span><a href="mailto:flang-dev-bounces@lists.llvm.org"><span style="font-size:12.0pt">flang-dev-bounces@lists.llvm.org</span></a><span style="font-size:12.0pt;color:black">><br>
<b>Date: </b>Monday, December 21, 2020 at 12:36 PM<br>
<b>To: </b>McCormick, Pat <</span><a href="mailto:pat@lanl.gov"><span style="font-size:12.0pt">pat@lanl.gov</span></a><span style="font-size:12.0pt;color:black">>,
</span><a href="mailto:flang-dev@lists.llvm.org"><span style="font-size:12.0pt">flang-dev@lists.llvm.org</span></a><span style="font-size:12.0pt;color:black"> <</span><a href="mailto:flang-dev@lists.llvm.org"><span style="font-size:12.0pt">flang-dev@lists.llvm.org</span></a><span style="font-size:12.0pt;color:black">><br>
<b>Subject: </b>[EXTERNAL] Re: [flang-dev] RFC: 'fir-dev' merge with llvm-project/flang main repo<o:p></o:p></span></p>
</div>
<p class="MsoNormal">Hi Pat<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p style="margin:0in">I fully agree that the ongoing development of fir-dev has split community efforts in a very damaging way and we must sort this out swiftly if the project is to have a future.<o:p></o:p></p>
<p style="margin:0in"> <o:p></o:p></p>
<p style="margin:0in">Pragmatically, if code drop + post-commit review, is the only way to bring the community together then it has my support on the condition that future development is conducted on main so we won’t have to resolve a situation like this again.<o:p></o:p></p>
<p style="margin:0in"> <o:p></o:p></p>
<p style="margin:0in">Given that any code drop is going to be in the many KLOC range, I would be as happy with a single big code drop as a handful of smaller ones. I assume this will be committed as sequential patches on top of main rather than as a merge commit(?)<o:p></o:p></p>
<p style="margin:0in"> <o:p></o:p></p>
<p style="margin:0in">Thanks<o:p></o:p></p>
<p style="margin:0in">Rich<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> flang-dev <<a href="mailto:flang-dev-bounces@lists.llvm.org">flang-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Diana Picus via flang-dev<br>
<b>Sent:</b> 15 December, 2020 10:33<br>
<b>To:</b> McCormick, Pat <<a href="mailto:pat@lanl.gov">pat@lanl.gov</a>><br>
<b>Cc:</b> <a href="mailto:flang-dev@lists.llvm.org">flang-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [flang-dev] RFC: 'fir-dev' merge with llvm-project/flang main repo<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">Hi Pat,<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">It's great to finally see this happening! Having development split between two repos makes for a great barrier to entry for newcomers to the project, so the sooner it is addressed the better.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">On the other hand, I second Mehdi's concerns with regards to one huge code drop. Splitting into at least the 3 categories that you mention in your email is probably a must. From there, you can probably find some kind of middle ground -
 for instance for areas where you might expect feedback from the larger community (e.g. MLIR-related stuff), it makes sense to split into smaller patches. For other areas, if you feel that the content is only understandable to the flang community and has already
 gone through a good round of review when merged into fir-dev, then you can probably send larger patches and people can discuss in Phabricator if they think anything needs further splitting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I'm currently maintaining 4 buildbots that build flang on aarch64, so please keep me in the loop for pre-commit testing of the patches (however many they may be).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">As a slightly orthogonal topic - It would also help to migrate any known issues/bug reports from the fir-dev fork to their proper upstream place. Not sure if there's a way to automate this (or if it's even necessary for the number of issues
 open there) and it can surely be handled after the code migration is complete. But it's good to have it on the radar.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Diana<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, 14 Dec 2020 at 18:25, McCormick, Pat via flang-dev <<a href="mailto:flang-dev@lists.llvm.org">flang-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Thanks Mehdi. Efforts are underway for a plan/response to your feedback.  
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Please note that in replying to Mehdi, I’m also addressing my mistake on the original RFC's subject line.  My apologies for the oversight — hopefully this makes the RFC details a bit more clear.   :-) <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.5pt;font-family:"Trebuchet MS",sans-serif;color:black">—Pat</span><o:p></o:p></p>
</div>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Dec 10, 2020, at 4:54 PM, Mehdi AMINI <<a href="mailto:joker.eph@gmail.com" target="_blank">joker.eph@gmail.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I have strong concerns about having a "code drop" for the FIR components and anything that has a dependency on MLIR.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I'd like that any such component is upstreamed individually (each passes in a single review for example) and reviewed on Phabricator appropriately.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-- <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Mehdi<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Dec 10, 2020 at 3:38 PM McCormick, Pat via flang-dev <<a href="mailto:flang-dev@lists.llvm.org" target="_blank">flang-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">This RFC aims to address challenges and concerns (e.g., disjoint development activities) in providing a functional code base for Flang via the main branch of the llvm-project.<br>
 <br>
<b>Background</b><br>
 <br>
When Flang upstreamed to llvm-project, only the frontend (preprocessor, parser, and semantic analysis) went into the main repo. This retained the commit history for the project and post hoc reviews of the upstreamed code were expected.  The work on this front-end
 has continued in llvm-project using the smaller, incremental commits that is normal LLVM practice. The middle-end  (lowering from parse trees to the MLIR dialect for the Fortran intermediate representation, FIR, that was not initially upstreamed) has been
 actively developed in a "fir-dev" fork:<br>
 <br>
  <a href="https://github.com/flang-compiler/f18-llvm-project/tree/fir-dev" target="_blank">https://github.com/flang-compiler/f18-llvm-project/tree/fir-dev</a><br>
 <br>
This codebase is heavily dependent upon MLIR for both Fortran-IR (FIR) and plans for an OpenMP dialect, and obviously on LLVM for the final lowering.  Active work across all these components, and efforts to get a working Fortran 77 front-end implemented on
 a timely schedule, has expanded the "fir-dev”  capabilities and has significantly extended the codebase as it currently exists in the main branch.  <br>
 <br>
To date, the community has struggled to reach an agreement on how to best merge the critical functionality in "fir-dev" into the main branch.  Unfortunately, the end targets of smaller commits and timely delivery of a working Fortran front end in the main llvm-project
 branch have been at odds. Furthermore, as time has passed this bifurcation has become detrimental to both Flang and established community practices. Therefore, we would like to propose the following approach to address and reduce the risks associated with
 the growing divergence across the code base. <br>
 <br>
<b>Proposed Merge Strategy <br>
</b> <br>
The proposed strategy aims to provide a timely push of "fir-dev" capabilities into Flang's main branch. Although not ideal, we feel it addresses both schedule risks and the overarching goal is to bring the community back together in working on a unified codebase.
 The proposal is to upstream groups of functionality with a revised history. One can imagine staging a sequence of multiple commits in git as a chain (say a handful of commits at most). This entire chain can be pushed in one go, creating a "history" or by splitting
 up the group into a few individual commits.<br>
 <br>
One potential grouping of functionality could be: <o:p></o:p></p>
<div>
<ol start="1" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo6">
FIR dialect and code generation,<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo6">
Optimization passes, and <o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo6">
Lowering to FIR.<o:p></o:p></li></ol>
<p class="MsoNormal"> <br>
We welcome other suggestions for these groupings.   <br>
 <br>
Unlike previous proposals, we would like to encourage timeliness by avoiding any initial source code modifications beyond organizing the merging of code into these functional groups.  We think there are two potential approaches to upstreaming this code in the
 master branch.  The first would handle each group independently as a single or few smaller commits.  It may be difficult to completely test each of these individual commits until the overall upstream process is completed, however we will, at the very least,
 make sure the code still builds appropriately.<br>
 <br>
Alternatively, we could eliminate the three functional groups and roll up all the "fir-dev" changes into a single commit.  Within the broader LLVM effort, there have been cases where very large, cross-cutting changes have  been committed in one shot to avoid breaking
 functionality.  The middle stages of Flang's functionality would meet a similar goal. <br>
 <br>
The primary advantage of the 2nd (“everything at once”) approach is that it would provide a more timely working (F77)  implementation of Flang and avoid a continued risk of a much longer duration and continued bifurcation of efforts across repositories. <br>
 <br>
We encourage the community's thoughts on these two paths, any alternative approaches, etc. <br>
 <br>
A series of important steps need to happen as part of the incorporation of fir-dev into the master repo: <br>
 <o:p></o:p></p>
<ol start="1" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9">
We need to make certain that all build-bot functionality is sound and doesn’t negatively impact community-wide, LLVM regression checks.  Our proposed approach would be to complete all this testing (by hand-running buildbots) before finally landing the fir-dev
 merged code upstream.<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9">
Make certain those who have contributed to fir-dev have their contributions maintained in the git history. This potentially will require that we temporarily disable LLVM’s commit mailer to avoid an onslaught of email traffic across the community. We need to
 understand how best to achieve this.  One alternative would be to capture and start a contributors list as part of the project if there is no clean way to retain history. <o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9">
It would be valuable to identify a small number of people from across the community (2-4 seems reasonable) to help coordinate and oversee this process -- it is likely too much for a single person. <o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9">
As a final step of the proposed process, the "fir-dev" repository will be archived and all future development activities will use the llvm-project main repository. <o:p></o:p></li></ol>
<p class="MsoNormal"> <br>
We believe with this process, and the fir-dev code successfully merged in, the first functional Fortran 77 front end, and middle stage(s), can be completed and provide the community with a starting point for refactoring, adding new capabilities, and exploring additional
 opportunities for contributing to Flang and leveraging the broader LLVM code base.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">We look forward to your feedback, suggestions, additions, etc. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Trebuchet MS",sans-serif">—Pat McCormick, Los Alamos National Laboratory </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.5pt;font-family:"Trebuchet MS",sans-serif">—Steve Scalpone, NVIDIA</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
flang-dev mailing list<br>
<a href="mailto:flang-dev@lists.llvm.org" target="_blank">flang-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
flang-dev mailing list<br>
<a href="mailto:flang-dev@lists.llvm.org" target="_blank">flang-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>