<div dir="ltr"><div>This seems pretty cool and as a "not involved with any of the projects being used outside of llvm" observer I support the inclusion of this project in the incubator. :)</div><div><br></div><div>-eric</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 5:34 PM Stephen Neuendorffer via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">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"><div dir="ltr"><div dir="ltr">Sure, I'll summarize with respect to the criterion in the document:<div><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Must be generally aligned with the mission of the LLVM project to advance compilers, languages, tools, runtimes, etc.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">CIRCT is a compiler which is built around LLVM/MLIR.  We anticipate building code generation for ASIC and FPGA backends along with specialized accelerators, while leveraging existing LLVM backends for processor targets.<br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Must conform to the license, patent, and code of conduct policies laid out in this developer policy document.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">Contributions are currently ApacheV2 licensed and we have adopted the general structure of the LLVM developer policies already, to the extent that we can as an external project.<br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Must have a documented charter and development plan, e.g. in the form of a README file, mission statement, and/or manifesto.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">See </span></font>

<a href="https://github.com/circt/circt" target="_blank">https://github.com/circt/circt</a> and <a href="https://github.com/circt/circt/blob/master/docs/Charter.md" target="_blank">https://github.com/circt/circt/blob/master/docs/Charter.md</a> </div><div><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Should conform to coding standards, incremental development process, and other expectations.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">The project mostly consists of MLIR dialects and transformations following the MLIR standalone dialect example implemented using c++14 and FileCheck for regressions.  We are currently using Github PRs for code review and a nifty CI system that caches the most recent LLVM build for good performance using github hosted builds.  </span></font><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">See </span></font>

<a href="https://github.com/circt/circt" target="_blank">https://github.com/circt/circt</a>   <font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px"><br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Should have a sense of the community that it hopes to eventually foster, and there should be interest from members with different affiliations / organizations.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">We have weekly meetings with >20 people from Xilinx, Sifive, Microsoft, PNNL, ETH, EPFL, Cornell, and Stanford.  Meeting minutes are here:</span></font><a href="https://docs.google.com/document/d/1fOSRdyZR2w75D87yU2Ma9h2-_lEPL4NxvhJGJd-s5pk/edit#" target="_blank">https://docs.google.com/document/d/1fOSRdyZR2w75D87yU2Ma9h2-_lEPL4NxvhJGJd-s5pk/edit#</a>  <font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px"><br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Should have a feasible path to eventually graduate as a dedicated top-level or sub-project within the <a href="https://github.com/llvm/llvm-project" style="color:rgb(202,121,0);text-decoration-line:none" target="_blank">LLVM monorepo</a>.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">I think this is very feasible from the perspective of code structure, but I would want to get to the point where we have stable APIs and useful end-to-end toolflows before advocating for that.<br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Should include a notice (e.g. in the project README or web page) that the project is in ‘incubation status’ and is not included in LLVM releases (see suggested wording below).</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">We can easily add this if accepted by the community.<br></span></font><ul style="color:rgb(0,0,0);font-family:"Lucida Grande","Lucida Sans Unicode",Geneva,Verdana,sans-serif;font-size:14px"><li>Must be proposed through the LLVM RFC process, and have its addition approved by the LLVM community - this ultimately mediates the resolution of the “should” concerns above.</li></ul><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">'[RFC]' indicated in the subject line.  I assume that this doesn't yet qualify as a contentious decision. :)</span></font></div><div><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px"><br></span></font></div><div><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px">Steve</span></font></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 10:33 AM Chris Lattner <<a href="mailto:clattner@nondot.org" target="_blank">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>Thanks Steve!  The incubator process just landed, it would be great to outline how CIRCT aligns with the new guidelines set out in that document.  As you know, I’m personally very much in favor of this project landing, but am also have a conflict of interest, so I’d like to know what other community members think.<div><br></div><div>-Chris<br><div><br><blockquote type="cite"><div>On Jul 4, 2020, at 3:29 PM, Stephen Neuendorffer via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:</div><br><div><div dir="ltr"><span id="gmail-m_-6104822180027407086gmail-m_4232481770646890041gmail-m_1903457217738589240gmail-docs-internal-guid-74a8d807-7fff-8a08-78b6-99bcf7722c77"></span><br><div><span style="background-color:transparent;font-family:Arial;font-size:11pt;white-space:pre-wrap">For the past several months, members of the ‘CIRCT’ group have been working to begin adapting MLIR for hardware design.  We believe that this area would benefit from good open source infrastructure enabling research and, eventually, the next generation of commercial tools.  We have collected several dialects and envision a number of lowering flows using these dialects.  We have reached the point where we are ready to share our ideas more widely and would like to be considered as an LLVM incubator project.</span><br></div><div><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">
Our code exists at </span><a href="https://github.com/circt" style="text-decoration-line:none" target="_blank"><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://github.com/circt</span></a><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"> as an out-of-tree MLIR project and our group charter can be found at </span><a href="https://github.com/circt/circt/blob/master/README.md" style="text-decoration-line:none" target="_blank"><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://github.com/circt/circt/blob/master/README.md</span></a><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">.   We have weekly discussions with a group of about 20 people from Xilinx, SiFive, Microsoft, PNNL, ETH Zurich, EPFL, Stanford, and Cornell, and welcome additional contributions.  This project is still early and we see many elements as highly experimental.  At the same time, we feel that the only way to vet these ideas is to build larger systems which will likely take some time and community investment.  The LLVM incubator process would be a good way to help us organize this effort.</span></div><div><br></div><div>Steve Neuendorffer</div><div>Xilinx Research Labs   <span><span style="font-size:11pt;font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"><br></span></span></div></div>
_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div><br></div></div></blockquote></div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>