<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I've only been skimming the discussion thread so far, but so far,
      I see no strong reason for this to be a LLVM subproject in it's
      current form.  I would recommend pursing a standalone open source
      project, building a community around the common development, and
      then return to this proposal once there is an existing community
      around an existing codebase.  Until that time, I see lots of
      downside for LLVM in accepting this project and little benefit.  <br>
    </p>
    <p><br>
    </p>
    <p>Philip<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 03/06/2018 10:54 AM, Anastasia
      Stulova via llvm-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:AM4PR08MB28332E46E42E648091BAC884F0D90@AM4PR08MB2833.eurprd08.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt;
        color:rgb(0,0,0);
font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple
        Color Emoji","Segoe UI
        Emoji",NotoColorEmoji,"Segoe UI
        Symbol","Android Emoji",EmojiSymbols">
        <p style="margin-top:0; margin-bottom:0">Hi Chris,</p>
        <p style="margin-top:0; margin-bottom:0"><br>
        </p>
        <p style="margin-top:0; margin-bottom:0">The main benefit for
          LLVM to include SPIRV support directly is to increase the
          number of users and developers in the area of heterogeneous
          computing, e.g. GPUs, FPGAs, DSPs.
          <br>
        </p>
        <p style="margin-top:0; margin-bottom:0"><br>
        </p>
        <p style="margin-top:0; margin-bottom:0">We want to increase the
          number of such devices that LLVM natively supports by adding
          compilation to SPIRV due to the shortage of proprietary
          backends in upstream LLVM.<br>
        </p>
        <br>
        Just to clarify we are currently suggesting to integrate the
        converter as a subproject of LLVM, similar to Clang or libclc,
        to reduce the overhead for the overall community in maintaining
        it and running tests.
        <p style="margin-top:0; margin-bottom:0"><br>
        </p>
        <p style="margin-top:0; margin-bottom:0">One more thing to be
          mentioned, the latest OpenCL standards evolve towards off-line
          compilation from OpenCL C++ to SPIRV. So having SPIRV
          generation directly in LLVM would allow us to deliver fully
          complete and compliant OpenCL C++ support, without using any
          external tools. See discussion with Tom earlier.<span></span></p>
        <p style="margin-top:0; margin-bottom:0"><br>
        </p>
        <p style="margin-top:0; margin-bottom:0">Thanks!</p>
        <p style="margin-top:0; margin-bottom:0">Anastasia<br>
        </p>
        <br>
        <br>
        <div style="color:rgb(0,0,0)">
          <hr style="display:inline-block; width:98%" tabindex="-1">
          <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
              face="Calibri, sans-serif" color="#000000"><b>From:</b>
              Chris Lattner <a class="moz-txt-link-rfc2396E" href="mailto:clattner@nondot.org"><clattner@nondot.org></a><br>
              <b>Sent:</b> 01 March 2018 01:52<br>
              <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:tstellar@redhat.com">tstellar@redhat.com</a><br>
              <b>Cc:</b> Anastasia Stulova; Tomeu Vizoso;
              <a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>; nd<br>
              <b>Subject:</b> Re: [llvm-dev] SPIRV-LLVM as an external
              tool</font>
            <div> </div>
          </div>
          <div class="BodyFragment"><font size="2"><span
                style="font-size:11pt">
                <div class="PlainText">On Feb 27, 2018, at 10:25 AM, Tom
                  Stellard via llvm-dev <a class="moz-txt-link-rfc2396E" href="mailto:llvm-dev@lists.llvm.org"><llvm-dev@lists.llvm.org></a>
                  wrote:<br>
                  > On 02/27/2018 05:07 AM, Anastasia Stulova wrote:<br>
                  >>> SPIR-V does not have to be a part of LLVM
                  for you to do this.  You can add<br>
                  >>> the SPIR-V target to clang and then
                  define a SPIR-V toolchain (i.e.
                  clang/Driver/Toolchains)<br>
                  >>> that uses the external tool to translate
                  LLVM IR to SPIR-V.<br>
                  >> <br>
                  >> <br>
                  >> Ok. I guess if Clang community accepts this
                  way, it would be better to set up the SPIRV converter
                  as a tool of LLVM.<br>
                  >> <br>
                  >> So the question is are there any downsides of
                  this? Or would anyone object if we add the converter
                  to the LLVM project as an optional tool? We would of
                  course take care of configuring and maintaining it
                  ourselves.<br>
                  > <br>
                  > There is no requirement that the tool needs to be
                  an official part of the LLVM<br>
                  > project to implement to use it this way  For
                  example, the cuda toolchain<br>
                  > in clang relies on a few proprietary tools from
                  NVIDIA.<br>
                  > <br>
                  > I think too much emphasis is being placed on
                  having this tool be part of the<br>
                  > LLVM project.<br>
                  <br>
                  Agreed.  Why is it good for LLVM to include this tool?<br>
                  <br>
                  If there was a strong rationale for doing so, it would
                  probably make sense to be a new subproject of some
                  sort rather than included in the main llvm repo (not
                  sure if that is what was being proposed).<br>
                  <br>
                  -Chris<br>
                  <br>
                  <br>
                </div>
              </span></font></div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>