diff options
author | Dan Gohman <gohman@apple.com> | 2010-07-07 14:27:09 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-07-07 14:27:09 +0000 |
commit | 9e86f4364b912ae743490ba01d6989acfd12c046 (patch) | |
tree | 0eb6677f25fb104f50e85918f79d60b5665e0315 /docs/AliasAnalysis.html | |
parent | 46151f1764ec61bfe3724e5db41e7675a9d90a96 (diff) | |
download | external_llvm-9e86f4364b912ae743490ba01d6989acfd12c046.zip external_llvm-9e86f4364b912ae743490ba01d6989acfd12c046.tar.gz external_llvm-9e86f4364b912ae743490ba01d6989acfd12c046.tar.bz2 |
Remove interprocedural-basic-aa and associated code. The AliasAnalysis
interface needs implementations to be consistent, so any code which
wants to support different semantics must use a different interface.
It's not currently worthwhile to add a new interface for this new
concept.
Document that AliasAnalysis doesn't support cross-function queries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107776 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/AliasAnalysis.html')
-rw-r--r-- | docs/AliasAnalysis.html | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/docs/AliasAnalysis.html b/docs/AliasAnalysis.html index 8e6a7fd..c6330a9 100644 --- a/docs/AliasAnalysis.html +++ b/docs/AliasAnalysis.html @@ -117,6 +117,11 @@ as the actual <tt>call</tt> or <tt>invoke</tt> instructions that performs the call. The <tt>AliasAnalysis</tt> interface also exposes some helper methods which allow you to get mod/ref information for arbitrary instructions.</p> +<p>All <tt>AliasAnalysis</tt> interfaces require that in queries involving +multiple values, values which are not +<a href="LangRef.html#constants">constants</a> are all defined within the +same function.</p> + </div> <!-- ======================================================================= --> @@ -181,9 +186,13 @@ that the accesses alias.</p> </div> <div class="doc_text"> -The <tt>alias</tt> method is the primary interface used to determine whether or -not two memory objects alias each other. It takes two memory objects as input -and returns MustAlias, MayAlias, or NoAlias as appropriate. +<p>The <tt>alias</tt> method is the primary interface used to determine whether +or not two memory objects alias each other. It takes two memory objects as +input and returns MustAlias, MayAlias, or NoAlias as appropriate.</p> + +<p>Like all <tt>AliasAnalysis</tt> interfaces, the <tt>alias</tt> method requires +that either the two pointer values be defined within the same function, or at +least one of the values is a <a href="LangRef.html#constants">constant</a>.</p> </div> <!-- _______________________________________________________________________ --> @@ -202,10 +211,8 @@ the other -- in this case, there is a dependence, but it's mediated by the free and reallocation.</p> <p>As an exception to this is with the -<a href="LangRef.html#noalias"><tt>noalias</tt></a> keyword. AliasAnalysis -implementations may choose to respect the <tt>noalias</tt> keyword and ignore -the "irrelevant" dependencies, provided their clients do not need to be aware -of these dependencies for correctness.</p> +<a href="LangRef.html#noalias"><tt>noalias</tt></a> keyword; the "irrelevant" +dependencies are ignored.</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 |