LLVM  17.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

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 794 of file AliasAnalysis.h.

Constructor & Destructor Documentation

◆ AAResultBase() [1/3]

llvm::AAResultBase::AAResultBase ( )

◆ AAResultBase() [2/3]

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

Definition at line 800 of file AliasAnalysis.h.

◆ AAResultBase() [3/3]

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

Definition at line 801 of file AliasAnalysis.h.

Member Function Documentation

◆ alias()

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

◆ getArgModRefInfo()

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

Definition at line 814 of file AliasAnalysis.h.

References llvm::ModRef.

Referenced by llvm::BasicAAResult::getArgModRefInfo().

◆ getMemoryEffects() [1/2]

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

◆ getMemoryEffects() [2/2]

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

Definition at line 822 of file AliasAnalysis.h.

References llvm::MemoryEffects::unknown().

◆ getModRefInfo() [1/2]

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

◆ getModRefInfo() [2/2]

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

Definition at line 831 of file AliasAnalysis.h.

References llvm::ModRef.

◆ getModRefInfoMask()

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

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