LLVM  16.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]
Collaboration diagram for llvm::objcarc::ObjCARCAAResult:
Collaboration 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. More...
 
AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI)
 
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)
 
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 
)

◆ getMemoryEffects() [1/3]

MemoryEffects llvm::AAResultBase::getMemoryEffects
inline

Definition at line 809 of file AliasAnalysis.h.

◆ getMemoryEffects() [2/3]

MemoryEffects llvm::AAResultBase::getMemoryEffects
inline

Definition at line 813 of file AliasAnalysis.h.

◆ getMemoryEffects() [3/3]

MemoryEffects ObjCARCAAResult::getMemoryEffects ( const Function F)

◆ getModRefInfo() [1/3]

ModRefInfo llvm::AAResultBase::getModRefInfo
inline

Definition at line 817 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
inline

Definition at line 822 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: