LLVM 18.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::AAResultBase Class Reference

A base class to help implement the function alias analysis results concept. More...

#include "llvm/Analysis/AliasAnalysis.h"

Inheritance diagram for llvm::AAResultBase:
Inheritance graph
[legend]

Public Member Functions

AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *I)
 
ModRefInfo getModRefInfoMask (const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals)
 
ModRefInfo getArgModRefInfo (const CallBase *Call, unsigned ArgIdx)
 
MemoryEffects getMemoryEffects (const CallBase *Call, AAQueryInfo &AAQI)
 
MemoryEffects getMemoryEffects (const Function *F)
 
ModRefInfo getModRefInfo (const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI)
 
ModRefInfo getModRefInfo (const CallBase *Call1, const CallBase *Call2, AAQueryInfo &AAQI)
 

Protected Member Functions

 AAResultBase ()=default
 
 AAResultBase (const AAResultBase &Arg)
 
 AAResultBase (AAResultBase &&Arg)
 

Detailed Description

A base class to help implement the function alias analysis results concept.

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.

Definition at line 802 of file AliasAnalysis.h.

Constructor & Destructor Documentation

◆ AAResultBase() [1/3]

llvm::AAResultBase::AAResultBase ( )
explicitprotecteddefault

◆ AAResultBase() [2/3]

llvm::AAResultBase::AAResultBase ( const AAResultBase Arg)
inlineprotected

Definition at line 808 of file AliasAnalysis.h.

◆ AAResultBase() [3/3]

llvm::AAResultBase::AAResultBase ( AAResultBase &&  Arg)
inlineprotected

Definition at line 809 of file AliasAnalysis.h.

Member Function Documentation

◆ alias()

AliasResult llvm::AAResultBase::alias ( const MemoryLocation LocA,
const MemoryLocation LocB,
AAQueryInfo AAQI,
const Instruction I 
)
inline

Definition at line 812 of file AliasAnalysis.h.

References llvm::AliasResult::MayAlias.

Referenced by llvm::objcarc::ObjCARCAAResult::alias().

◆ getArgModRefInfo()

ModRefInfo llvm::AAResultBase::getArgModRefInfo ( const CallBase Call,
unsigned  ArgIdx 
)
inline

Definition at line 822 of file AliasAnalysis.h.

References llvm::ModRef.

◆ getMemoryEffects() [1/2]

MemoryEffects llvm::AAResultBase::getMemoryEffects ( const CallBase Call,
AAQueryInfo AAQI 
)
inline

◆ getMemoryEffects() [2/2]

MemoryEffects llvm::AAResultBase::getMemoryEffects ( const Function F)
inline

◆ getModRefInfo() [1/2]

ModRefInfo llvm::AAResultBase::getModRefInfo ( const CallBase Call,
const MemoryLocation Loc,
AAQueryInfo AAQI 
)
inline

Definition at line 834 of file AliasAnalysis.h.

References llvm::ModRef.

Referenced by llvm::objcarc::ObjCARCAAResult::getModRefInfo().

◆ getModRefInfo() [2/2]

ModRefInfo llvm::AAResultBase::getModRefInfo ( const CallBase Call1,
const CallBase Call2,
AAQueryInfo AAQI 
)
inline

Definition at line 839 of file AliasAnalysis.h.

References llvm::ModRef.

◆ getModRefInfoMask()

ModRefInfo llvm::AAResultBase::getModRefInfoMask ( const MemoryLocation Loc,
AAQueryInfo AAQI,
bool  IgnoreLocals 
)
inline

Definition at line 817 of file AliasAnalysis.h.

References llvm::ModRef.

Referenced by llvm::objcarc::ObjCARCAAResult::getModRefInfoMask().


The documentation for this class was generated from the following file: