Home | History | Annotate | Download | only in Analysis

Lines Matching full:alias

1 //===- ScopedNoAliasAA.cpp - Scoped No-Alias Alias Analysis ---------------===//
10 // This file defines the ScopedNoAlias alias-analysis pass, which implements
11 // metadata-based scoped no-alias support.
13 // Alias-analysis scopes are defined by an id (which can be a string or some
22 // Loads and stores can be tagged with an alias-analysis scope, and also, with
25 // ... = load %ptr1, !alias.scope !{ !scope1 }
26 // ... = load %ptr2, !alias.scope !{ !scope1, !scope2 }, !noalias !{ !scope1 }
29 // has a set of noalias scopes in some domain that is superset of the alias
31 // accesses are assumed not to alias.
47 // A handy option for disabling scoped no-alias functionality. The same effect
55 /// a higher-level interface by hiding the details of how alias analysis
76 AliasResult ScopedNoAliasAAResult::alias(const MemoryLocation &LocA,
79 return AAResultBase::alias(LocA, LocB);
92 // If they may alias, chain to the next AliasAnalysis.
93 return AAResultBase::alias(LocA, LocB);
152 // We alias unless, for some domain, the set of noalias scopes in that domain
153 // is a superset of the set of alias scopes in that domain.
161 // To not alias, all of the nodes in ScopeNodes must be in NANodes.
185 "Scoped NoAlias Alias Analysis", false, true)
188 "Scoped NoAlias Alias Analysis", false, true)