<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<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="Apple-interchange-newline">
<div class="">
<div id="divtagdefaultwrapper" dir="ltr" style="font-style: normal; font-variant-caps: 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; -webkit-text-stroke-width: 0px; font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><font size="2" class=""><span style="font-size: 11pt;" class=""></span></font><font size="2" class=""><span style="font-size: 11pt;" class=""><font size="2" class=""><span style="font-size: 11pt;" class="">><span class="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 size="2" class=""><span style="font-size: 11pt;" class="">><span class="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 size="2" class=""><span style="font-size: 11pt;" class="">><span class="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>
</body>
</html>