Try to make the meaning of 'nocapture' a bit clearer. I
authorDuncan Sands <baldrick@free.fr>
Mon, 2 Mar 2009 16:58:00 +0000 (16:58 +0000)
committerDuncan Sands <baldrick@free.fr>
Mon, 2 Mar 2009 16:58:00 +0000 (16:58 +0000)
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

docs/ReleaseNotes.html

index 3501c5f0d654d34af650baa15dfe9f1500380ac7..b40d2d414eeb5c5a478236e8a924dd2fad85426f 100644 (file)
@@ -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