<div dir="ltr">ping</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 18, 2014 at 9:12 PM, Philip Reames <span dir="ltr"><<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Good catch.  This is a real corner case in the attribute specification.  Possibly we should document the distinction somewhere?<br>


<br>
Which reminds me, we'll need doc changes (LangRef) to describe the new attribute.<span class="HOEnZb"><font color="#888888"><br>
<br>
Philip</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On 04/17/2014 10:43 PM, Hal Finkel wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
----- Original Message -----<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: "Nick Lewycky" <<a href="mailto:nicholas@mxc.ca" target="_blank">nicholas@mxc.ca</a>><br>
To: <a href="mailto:reviews%2BD3389%2Bpublic%2Ba85d4f162cd7a6e0@reviews.llvm.org" target="_blank">reviews+D3389+public+<u></u>a85d4f162cd7a6e0@reviews.llvm.<u></u>org</a><br>
Cc: <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
Sent: Thursday, April 17, 2014 10:52:35 PM<br>
Subject: Re: [PATCH] `nonnull` argument attribute.<br>
<br>
Your change to lib/IR/Value.cpp is wrong, a nonnull pointer is not<br>
necessarily dereferenceable.<br>
<br>
%a = inttoptr i32 123456 to i32*<br>
call void @foo(i32* %a nonnull)<br>
<br>
It's nonnull, but not dereferenceable.<br>
</blockquote>
I'll add that we really should have a dereferenceable attribute, IMHO, but as Nick said, it needs to be a separate from notnull. I think that for dereferenceable we'll want to have a more involved discussion because we'll need to decide if it affects derived pointers, should it have a size parameter, etc.<br>


<br>
  -Hal<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Nick<br>
<br>
Luqman Aden wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    Added test.<br>
<br>
<a href="http://reviews.llvm.org/D3389" target="_blank">http://reviews.llvm.org/D3389</a><br>
<br>
CHANGE SINCE LAST DIFF<br>
    <a href="http://reviews.llvm.org/D3389?vs=8552&id=8553#toc" target="_blank">http://reviews.llvm.org/D3389?<u></u>vs=8552&id=8553#toc</a><br>
<br>
Files:<br>
    lib/AsmParser/LLToken.h<br>
    lib/AsmParser/LLParser.cpp<br>
    lib/AsmParser/LLLexer.cpp<br>
    lib/Bitcode/Writer/<u></u>BitcodeWriter.cpp<br>
    lib/Bitcode/Reader/<u></u>BitcodeReader.cpp<br>
    lib/IR/Function.cpp<br>
    lib/IR/Attributes.cpp<br>
    lib/Analysis/ValueTracking.cpp<br>
    test/Bitcode/attributes.ll<br>
    test/Analysis/BasicAA/nonnull.<u></u>ll<br>
    include/llvm/Bitcode/<u></u>LLVMBitCodes.h<br>
    include/llvm/IR/Attributes.h<br>
    include/llvm/IR/Argument.h<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
<br>
</blockquote></blockquote>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>