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
<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

View File

@ -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();