aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-07-02 23:52:36 +0000
committerDan Gohman <gohman@apple.com>2010-07-02 23:52:36 +0000
commit43b8fd728b889f15ea4c65ca957a7420ce2905cd (patch)
treebf477874ef9706820f440cc8775222b79adb3c54
parentefca7f9681a4b0048538a02e2be3de3d369ff9c6 (diff)
Document that BasicAA respects noalias, while InterproceduralBasicAA
does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/AliasAnalysis.html5
-rw-r--r--include/llvm/Analysis/Passes.h7
2 files changed, 8 insertions, 4 deletions
diff --git a/docs/AliasAnalysis.html b/docs/AliasAnalysis.html
index 591694a983..8e6a7fd4d7 100644
--- a/docs/AliasAnalysis.html
+++ b/docs/AliasAnalysis.html
@@ -203,8 +203,9 @@ 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 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
diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h
index a81cb8733f..1020e07e0e 100644
--- a/include/llvm/Analysis/Passes.h
+++ b/include/llvm/Analysis/Passes.h
@@ -67,7 +67,9 @@ namespace llvm {
//===--------------------------------------------------------------------===//
//
// 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 @@ namespace llvm {
//
// 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();