diff options
| author | Dan Gohman <gohman@apple.com> | 2010-07-02 23:52:36 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2010-07-02 23:52:36 +0000 |
| commit | ece6906ea0e3e189e6a2a94c9fd10cbadd7d368b (patch) | |
| tree | 01122295dec8dc9c208396ef2c9e45d4af77ca22 | |
| parent | f1d2ac7c015a6737a02600d17bc92596502a2e65 (diff) | |
| download | bcm5719-llvm-ece6906ea0e3e189e6a2a94c9fd10cbadd7d368b.tar.gz bcm5719-llvm-ece6906ea0e3e189e6a2a94c9fd10cbadd7d368b.zip | |
Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.
llvm-svn: 107546
| -rw-r--r-- | llvm/docs/AliasAnalysis.html | 5 | ||||
| -rw-r--r-- | llvm/include/llvm/Analysis/Passes.h | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/llvm/docs/AliasAnalysis.html b/llvm/docs/AliasAnalysis.html index 591694a983c..8e6a7fd4d7c 100644 --- a/llvm/docs/AliasAnalysis.html +++ b/llvm/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/llvm/include/llvm/Analysis/Passes.h b/llvm/include/llvm/Analysis/Passes.h index a81cb8733f4..1020e07e0ea 100644 --- a/llvm/include/llvm/Analysis/Passes.h +++ b/llvm/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(); |

