From 05c709517d2790acb4d6a3a630c3da78a87398ab Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Mon, 2 Mar 2009 16:58:00 +0000 Subject: [PATCH] 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 --- docs/ReleaseNotes.html | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 3501c5f0d65..b40d2d414ee 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -368,13 +368,16 @@ produces a .o file (thus they are invisible to the linker).
  • LLVM IR supports two new attributes for better alias analysis. The noalias attribute can now be used on the return value of a function to indicate that it returns new memory (e.g. -'malloc', 'calloc', etc).
  • - -
  • The new nocapture 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.
  • +'malloc', 'calloc', etc). +The new nocapture 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 parser for ".ll" files in lib/AsmParser is now completely rewritten as a recursive descent parser. This parser produces better error messages (including