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
This commit is contained in:
Dan Gohman 2010-07-02 23:52:36 +00:00
parent efca7f9681
commit 43b8fd728b
2 changed files with 8 additions and 4 deletions

View File

@ -203,8 +203,9 @@ and reallocation.</p>
<p>As an exception to this is with the <p>As an exception to this is with the
<a href="LangRef.html#noalias"><tt>noalias</tt></a> keyword. AliasAnalysis <a href="LangRef.html#noalias"><tt>noalias</tt></a> keyword. AliasAnalysis
implementations may choose to ignore the "irrelevant" dependencies, provided implementations may choose to respect the <tt>noalias</tt> keyword and ignore
their clients do not need to be aware of these dependencies for correctness.</p> 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 <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 same object. If the two memory objects overlap, but do not start at the same

View File

@ -67,7 +67,9 @@ namespace llvm {
//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===//
// //
// createBasicAliasAnalysisPass - This pass implements the default alias // 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(); ImmutablePass *createBasicAliasAnalysisPass();
@ -75,7 +77,8 @@ namespace llvm {
// //
// createInterproceduralBasicAliasAnalysisPass - This pass is similar to // createInterproceduralBasicAliasAnalysisPass - This pass is similar to
// baiscaa, except that it properly supports queries to values which live // 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(); ImmutablePass *createInterproceduralBasicAliasAnalysisPass();