mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
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:
parent
efca7f9681
commit
43b8fd728b
@ -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
|
||||||
|
@ -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();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user