LLVM 19.0.0git
Public Member Functions | List of all members
llvm::objcarc::ObjCARCAAResult Class Reference

This is a simple alias analysis implementation that uses knowledge of ARC constructs to answer queries. More...

#include "llvm/Analysis/ObjCARCAliasAnalysis.h"

Inheritance diagram for llvm::objcarc::ObjCARCAAResult:
Inheritance graph
[legend]

Public Member Functions

 ObjCARCAAResult (const DataLayout &DL)
 
 ObjCARCAAResult (ObjCARCAAResult &&Arg)
 
bool invalidate (Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
 Handle invalidation events from the new pass manager.
 
AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *CtxI)
 
ModRefInfo getModRefInfoMask (const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals)
 
MemoryEffects getMemoryEffects (const Function *F)
 
ModRefInfo getModRefInfo (const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI)
 
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)
 
- Public Member Functions inherited from llvm::AAResultBase
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)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::AAResultBase
 AAResultBase ()=default
 
 AAResultBase (const AAResultBase &Arg)
 
 AAResultBase (AAResultBase &&Arg)
 

Detailed Description

This is a simple alias analysis implementation that uses knowledge of ARC constructs to answer queries.

TODO: This class could be generalized to know about other ObjC-specific tricks. Such as knowing that ivars in the non-fragile ABI are non-aliasing even though their offsets are dynamic.

Definition at line 37 of file ObjCARCAliasAnalysis.h.

Constructor & Destructor Documentation

◆ ObjCARCAAResult() [1/2]

llvm::objcarc::ObjCARCAAResult::ObjCARCAAResult ( const DataLayout DL)
inlineexplicit

Definition at line 41 of file ObjCARCAliasAnalysis.h.

References DL.

◆ ObjCARCAAResult() [2/2]

llvm::objcarc::ObjCARCAAResult::ObjCARCAAResult ( ObjCARCAAResult &&  Arg)
inline

Definition at line 42 of file ObjCARCAliasAnalysis.h.

References DL.

Member Function Documentation

◆ alias()

AliasResult ObjCARCAAResult::alias ( const MemoryLocation LocA,
const MemoryLocation LocB,
AAQueryInfo AAQI,
const Instruction CtxI 
)

◆ getMemoryEffects() [1/3]

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

Definition at line 832 of file AliasAnalysis.h.

◆ getMemoryEffects() [2/3]

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

Definition at line 836 of file AliasAnalysis.h.

◆ getMemoryEffects() [3/3]

MemoryEffects ObjCARCAAResult::getMemoryEffects ( const Function F)

◆ getModRefInfo() [1/3]

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

Definition at line 840 of file AliasAnalysis.h.

◆ getModRefInfo() [2/3]

ModRefInfo ObjCARCAAResult::getModRefInfo ( const CallBase Call,
const MemoryLocation Loc,
AAQueryInfo AAQI 
)

◆ getModRefInfo() [3/3]

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

Definition at line 845 of file AliasAnalysis.h.

◆ getModRefInfoMask()

ModRefInfo ObjCARCAAResult::getModRefInfoMask ( const MemoryLocation Loc,
AAQueryInfo AAQI,
bool  IgnoreLocals 
)

◆ invalidate()

bool llvm::objcarc::ObjCARCAAResult::invalidate ( Function ,
const PreservedAnalyses ,
FunctionAnalysisManager::Invalidator  
)
inline

Handle invalidation events from the new pass manager.

By definition, this result is stateless and so remains valid.

Definition at line 48 of file ObjCARCAliasAnalysis.h.


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