[llvm-commits] [llvm] r65846 - /llvm/trunk/docs/ReleaseNotes.html
baldrick at free.fr
Mon Mar 2 08:58:03 PST 2009
Date: Mon Mar 2 10:58:00 2009
New Revision: 65846
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).
--- llvm/trunk/docs/ReleaseNotes.html (original)
+++ llvm/trunk/docs/ReleaseNotes.html Mon Mar 2 10:58:00 2009
@@ -368,13 +368,16 @@
<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>The parser for ".ll" files in lib/AsmParser is now completely rewritten as a
recursive descent parser. This parser produces better error messages (including
More information about the llvm-commits