[#llvm-AAResultBase] = xref:llvm.adoc[llvm]::AAResultBase :relfileprefix: ../ :mrdocs: A base class to help implement the function alias analysis results concept. == Synopsis Declared in `<llvm/Analysis/AliasAnalysis.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class AAResultBase; ---- == Description Because of the nature of many alias analysis implementations, they often only implement a subset of the interface. This base class will attempt to implement the remaining portions of the interface in terms of simpler forms of the interface where possible, and otherwise provide conservatively correct fallback implementations. Implementors of an alias analysis should derive from this class, and then override specific methods that they wish to customize. There is no need to use virtual anywhere. == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AAResultBase/alias.adoc[`alias`] | Conservatively report that `LocA` and `LocB` may alias. | xref:llvm/AAResultBase/aliasErrno.adoc[`aliasErrno`] | Conservatively report that `Loc` may alias errno. | xref:llvm/AAResultBase/getArgModRefInfo.adoc[`getArgModRefInfo`] | Conservatively return ModRef for pointer argument `ArgIdx` of `Call.` | xref:llvm/AAResultBase/getMemoryEffects-0d.adoc[`getMemoryEffects`] | `getMemoryEffects` overloads | xref:llvm/AAResultBase/getModRefInfo-094.adoc[`getModRefInfo`] | `getModRefInfo` overloads | xref:llvm/AAResultBase/getModRefInfoMask.adoc[`getModRefInfoMask`] | Conservatively return a full ModRef mask for `Loc.` |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AAResultBase/2constructor-03.adoc[`AAResultBase`] [.small]#[constructor]# | Constructors |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:llvm/BasicAAResult.adoc[`BasicAAResult`] | AA result for basic, local, and stateless alias analysis. | xref:llvm/GlobalsAAResult.adoc[`GlobalsAAResult`] | An alias analysis result set for globals. | xref:llvm/objcarc/ObjCARCAAResult.adoc[`ObjCARCAAResult`] | This is a simple alias analysis implementation that uses knowledge of ARC constructs to answer queries. | xref:llvm/SCEVAAResult.adoc[`SCEVAAResult`] | A simple alias analysis implementation that uses ScalarEvolution to answer queries. | xref:llvm/ScopedNoAliasAAResult.adoc[`ScopedNoAliasAAResult`] | A simple AA result which uses scoped‐noalias metadata to answer queries. | xref:llvm/TypeBasedAAResult.adoc[`TypeBasedAAResult`] | A simple AA result that uses TBAA metadata to answer queries. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#