<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">LGTM.<div><br></div><div>Small comment on the intrinsic-noduplicate.ll test. You can make it more robust by using the FileCheck regex thingies instead of hardcoding the ‘#0’ for the attribute group. In this case, the test being so small it may not be worth it. I leave it up to you.</div><div><br></div><div>-bw</div><div><br><div><div>On Mar 18, 2014, at 10:08 AM, Eli Bendersky <<a href="mailto:eliben@google.com">eliben@google.com</a>> wrote:</div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 9:59 AM, Justin Holewinski <span dir="ltr"><<a href="mailto:jholewinski@nvidia.com" target="_blank">jholewinski@nvidia.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    This looks good to me, though sign-off from a maintainer of tablegen
    may be necessary.<br></div></blockquote><div><br></div><div>+CC Bill (attributes) and Jakob</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">

<br>
    This should be set for all barrier instructions in
    IntrinsicsNVVM.td.</div></blockquote><div><br></div><div>Fair enough; updated patch attached.</div><div><br></div><div>Eli</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000"><div><div class="h5"><br>
    <br>
    <div>On 03/17/2014 05:09 PM, Eli Bendersky
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Hello,
        <div><br>
        </div>
        <div>The "noduplicate" function attribute exists to prevent
          certain optimizations from duplicating calls to the function.
          This is important on platforms where certain function call
          duplications are unsafe (for example execution barriers for
          CUDA and OpenCL).</div>
        <div><br>
        </div>
        <div>This patch make it possible to specify intrinsics as
          "noduplicate" and translates that to the appropriate function
          attribute. It also uses it for the int_cuda_syncthreads
          intrinsics. Tests are also added.</div>
        <div><br>
        </div>
        <div>Justin: for now I just added it for the intrinsic directly
          visible from CUDA source. Should this attribute be added to
          all int_nvvm_barrier0* intrinsics as well?</div>
        <div><br>
        </div>
        <div>PTAL</div>
        <div>
          <br>
        </div>
        <div>Eli</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
      </div>
    </blockquote>
    <br>
  
</div></div><div>
<hr>
</div>
<div>This email message is for the sole use of the intended recipient(s) and may 
contain confidential information.  Any unauthorized review, use, disclosure 
or distribution is prohibited.  If you are not the intended recipient, 
please contact the sender by reply email and destroy all copies of the original 
message. </div>
<div>
<hr>
</div>
</div>

</blockquote></div><br></div></div>
<span><intrinsics-noduplicate.2.patch></span></blockquote></div><br></div></body></html>