<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" 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;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><br>
</p>
+ Brian<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" color="#000000" face="Calibri, sans-serif"><b>From:</b> Nicholas Wilson <iamthewilsonator@hotmail.com><br>
<b>Sent:</b> 27 February 2018 13:23<br>
<b>To:</b> Anastasia Stulova<br>
<b>Cc:</b> Tomeu Vizoso; llvm-dev@lists.llvm.org; tstellar@redhat.com; nd<br>
<b>Subject:</b> Re: [llvm-dev] SPIRV-LLVM as an external tool</font>
<div> </div>
</div>
<div class="" style="word-wrap:break-word"><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 27 Feb 2018, at 9:07 pm, Anastasia Stulova via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div>
<br class="x_Apple-interchange-newline">
<div class="">
<div id="x_divtagdefaultwrapper" dir="ltr" class="" style="font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; font-size:12pt; font-family:Calibri,Helvetica,sans-serif,EmojiFont,'Apple Color Emoji','Segoe UI Emoji',NotoColorEmoji,'Segoe UI Symbol','Android Emoji',EmojiSymbols">
<div class="" style="margin-top:0px; margin-bottom:0px"><font class="" size="2"><span class="" style="font-size:11pt"></span></font><font class="" size="2"><span class="" style="font-size:11pt"><font class="" size="2"><span class="" style="font-size:11pt">><span class="x_Apple-converted-space"> </span></span></font>SPIR-V
 does not have to be a part of LLVM for you to do this.  You can add<br class="">
<font class="" size="2"><span class="" style="font-size:11pt">><span class="x_Apple-converted-space"> </span></span></font>the SPIR-V target to clang and then define a SPIR-V toolchain (i.e. clang/Driver/Toolchains)<br class="">
<font class="" size="2"><span class="" style="font-size:11pt">><span class="x_Apple-converted-space"> </span></span></font>that uses the external tool to translate LLVM IR to SPIR-V.</span></font><br class="">
</div>
<br class="">
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 class="">
<br class="">
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 class="">
<br class="">
Cheers,<br class="">
Anastasia<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
<div class="">IIUC that would make clang invoke the converter on the produced IR as an external program?</div>
<div class="">Having it available as <i class="">only</i> that would be a nuisance to those of us who would rather just call the passes directly, with eventual transition to a proper backend.</div>
<div class="">We need to have the converter, for both directions, available as an LLVM tool anyway for testing with lit (btw we really should make the asm output the same as the rest of the vulkan tools, the current format is really ugly and annoying to capture
 with regexen).</div>
<div class=""><br class="">
</div>
<div class="">Nic</div>
</div>
</div>
</div>
</body>
</html>