<div dir="ltr">Thanks guys. <div>Do you it make sense to extend the definition in LangRef? If so I will be happy to upload a patch.<div><br></div><div>Piotr</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-28 17:58 GMT+02:00 Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <p><br>
    </p>
    <br>
    <div class="m_8302625407808295757moz-cite-prefix">On 04/28/2017 10:22 AM, Piotr Padlewski
      via llvm-dev wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hi,
        <div>I have a question about semantics of nocapture attribute:</div>
        <div>"<span>This
            indicates that the callee does not make any copies of the
            pointer that outlive the callee itself.</span><span> "</span></div>
        <div><font color="#000000" face="lucida grande, lucida sans
            unicode, geneva, verdana, sans-serif"><span style="font-size:14px">Is returing a pointer considered
              outliving callee? For example is this code valid:</span></font></div>
      </div>
    </blockquote>
    <br></span>
    Yes, it includes returning the pointer. The code below is invalid.
    The return value outlives the callee itself.<span class=""><br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <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">define i8* @foo(i8* nocapture %p)</span></font></div>
        <div><font color="#000000" face="lucida grande, lucida sans
            unicode, geneva, verdana, sans-serif"><span style="font-size:14px">  ret i8* %p</span></font></div>
        <div><font color="#000000" face="lucida grande, lucida sans
            unicode, geneva, verdana, sans-serif"><span style="font-size:14px">}</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">The documentation also mention that
              "</span></font><span> </span><span>This
            is not a valid attribute for return values.", but I
            interpret that it is is about this case:</span></div>
        <div><span><br>
          </span></div>
        <div>
          <div><font color="#000000" face="lucida grande, lucida sans
              unicode, geneva, verdana, sans-serif"><span style="font-size:14px">declare i8* nocapture @bar(i8*
                %p)</span></font></div>
        </div>
      </div>
    </blockquote>
    <br></span>
    Correct.<br>
    <br>
     -Hal<span class=""><br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div><br>
          </div>
        </div>
        <div>Piotr</div>
      </div>
      <br>
      <fieldset class="m_8302625407808295757mimeAttachmentHeader"></fieldset>
      <br>
      <pre>______________________________<wbr>_________________
LLVM Developers mailing list
<a class="m_8302625407808295757moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a class="m_8302625407808295757moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
    </span><span class="HOEnZb"><font color="#888888"><pre class="m_8302625407808295757moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </font></span></div>

</blockquote></div><br></div>