diff options
author | Duncan Sands <baldrick@free.fr> | 2009-03-02 16:58:00 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2009-03-02 16:58:00 +0000 |
commit | 05c709517d2790acb4d6a3a630c3da78a87398ab (patch) | |
tree | 22774bdb767bd1e665fb6f5dd1b0e656877f194c /docs/ReleaseNotes.html | |
parent | dd3e6722d90984f8911853622a5f2dfb47b9c308 (diff) | |
download | llvm-05c709517d2790acb4d6a3a630c3da78a87398ab.tar.gz llvm-05c709517d2790acb4d6a3a630c3da78a87398ab.tar.bz2 llvm-05c709517d2790acb4d6a3a630c3da78a87398ab.tar.xz |
Try to make the meaning of 'nocapture' a bit clearer. I
commented out the line about simplifylibcalls because I
think this doesn't work in the release (it was fixed in
svn after the release branched).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ReleaseNotes.html')
-rw-r--r-- | docs/ReleaseNotes.html | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 3501c5f0d6..b40d2d414e 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -368,13 +368,16 @@ produces a .o file (thus they are invisible to the linker).</li> <li>LLVM IR supports two new attributes for better alias analysis. The <a href="LangRef.html#paramattrs">noalias</a> attribute can now be used on the return value of a function to indicate that it returns new memory (e.g. -'malloc', 'calloc', etc).</li> - -<li>The new <a href="LangRef.html#paramattrs">nocapture</a> attribute can be -used on pointer arguments to functions that access through but do not return the -pointer in a data structure that out lives the call (e.g. 'strlen', 'memcpy', -and many others). The simplifylibcalls pass applies these attributes to -standard libc functions.</li> +'malloc', 'calloc', etc). +The new <a href="LangRef.html#paramattrs">nocapture</a> attribute can be used +on pointer arguments to indicate that the function does not return the pointer, +store it in an object that outlives the call, or let the value of the pointer +escape from the function in any other way. +Note that it is the pointer itself that must not escape, not the value it +points to: loading a value out of the pointer is perfectly fine. +Many standard library functions (e.g. 'strlen', 'memcpy') have this property. +<!-- The simplifylibcalls pass applies these attributes to standard libc functions. --> +</li> <li>The parser for ".ll" files in lib/AsmParser is now completely rewritten as a recursive descent parser. This parser produces better error messages (including |