diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2008-12-14 21:08:48 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2008-12-14 21:08:48 +0000 |
| commit | 4048ca5739aed7857d9447ed7250b6becc58f6c0 (patch) | |
| tree | 9e256beb9338546def4e73b44a057d21e5117543 /llvm/docs | |
| parent | e34c2399de70ba1ae60f3be513ed102f1550c20a (diff) | |
| download | bcm5719-llvm-4048ca5739aed7857d9447ed7250b6becc58f6c0.tar.gz bcm5719-llvm-4048ca5739aed7857d9447ed7250b6becc58f6c0.zip | |
Clarify the meaning of the NoAlias response. The plan is to refer to this from
a future version of LangRef.
llvm-svn: 61010
Diffstat (limited to 'llvm/docs')
| -rw-r--r-- | llvm/docs/AliasAnalysis.html | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/llvm/docs/AliasAnalysis.html b/llvm/docs/AliasAnalysis.html index 1c4ca9965f3..1569fb8e688 100644 --- a/llvm/docs/AliasAnalysis.html +++ b/llvm/docs/AliasAnalysis.html @@ -191,16 +191,20 @@ and returns MustAlias, MayAlias, or NoAlias as appropriate. </div> <div class="doc_text"> - -<p>An Alias Analysis implementation can return one of three responses: -MustAlias, MayAlias, and NoAlias. The No and May alias results are obvious: if -the two pointers can never equal each other, return NoAlias, if they might, -return MayAlias.</p> - -<p>The MustAlias response is trickier though. In LLVM, the Must Alias response -may only be returned if the two memory objects are guaranteed to always start at -exactly the same location. If two memory objects overlap, but do not start at -the same location, return MayAlias.</p> +<p>The NoAlias response is used when the two pointers refer to distinct objects, +even regardless of whether the pointers compare equal. For example, freed +pointers don't alias any pointers that were allocated afterwards. As a +degenerate case, pointers returned by malloc(0) have no bytes for an object, +and are considered NoAlias even when malloc returns the same pointer. The same +rule applies to NULL pointers.</p> + +<p>The MayAlias response is used whenever the two pointers might refer to the +same object. If the two memory objects overlap, but do not start at the same +location, return MayAlias.</p> + +<p>The MustAlias response may only be returned if the two memory objects are +guaranteed to always start at exactly the same location. A MustAlias response +implies that the pointers compare equal.</p> </div> |

