[llvm-commits] [llvm] r107546 - in /llvm/trunk: docs/AliasAnalysis.html include/llvm/Analysis/Passes.h
Dan Gohman
gohman at apple.com
Fri Jul 2 16:52:36 PDT 2010
Author: djg
Date: Fri Jul 2 18:52:36 2010
New Revision: 107546
URL: http://llvm.org/viewvc/llvm-project?rev=107546&view=rev
Log:
Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.
Modified:
llvm/trunk/docs/AliasAnalysis.html
llvm/trunk/include/llvm/Analysis/Passes.h
Modified: llvm/trunk/docs/AliasAnalysis.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/AliasAnalysis.html?rev=107546&r1=107545&r2=107546&view=diff
==============================================================================
--- llvm/trunk/docs/AliasAnalysis.html (original)
+++ llvm/trunk/docs/AliasAnalysis.html Fri Jul 2 18:52:36 2010
@@ -203,8 +203,9 @@
<p>As an exception to this is with the
<a href="LangRef.html#noalias"><tt>noalias</tt></a> keyword. AliasAnalysis
-implementations may choose to ignore the "irrelevant" dependencies, provided
-their clients do not need to be aware of these dependencies for correctness.</p>
+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>
<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
Modified: llvm/trunk/include/llvm/Analysis/Passes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/Passes.h?rev=107546&r1=107545&r2=107546&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/Passes.h (original)
+++ llvm/trunk/include/llvm/Analysis/Passes.h Fri Jul 2 18:52:36 2010
@@ -67,7 +67,9 @@
//===--------------------------------------------------------------------===//
//
// createBasicAliasAnalysisPass - This pass implements the default alias
- // analysis.
+ // analysis. This analysis respects the noalias attribute, so it is not
+ // suitable for some interprocedural uses (see the discussion of noalias
+ // in AliasAnalysis.html for details).
//
ImmutablePass *createBasicAliasAnalysisPass();
@@ -75,7 +77,8 @@
//
// createInterproceduralBasicAliasAnalysisPass - This pass is similar to
// baiscaa, except that it properly supports queries to values which live
- // in different functions.
+ // in different functions. Unlike the regular BasicAliasAnalysis, this
+ // implementation does not respect the noalias attribute.
//
ImmutablePass *createInterproceduralBasicAliasAnalysisPass();
More information about the llvm-commits
mailing list