LLVM 22.0.0git
llvm::TypeBasedAAResult Class Reference

A simple AA result that uses TBAA metadata to answer queries. More...

#include "llvm/Analysis/TypeBasedAliasAnalysis.h"

Inheritance diagram for llvm::TypeBasedAAResult:
[legend]

Public Member Functions

 TypeBasedAAResult (bool UsingTypeSanitizer)
bool invalidate (Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
 Handle invalidation events from the new pass manager.
LLVM_ABI AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *CtxI)
LLVM_ABI AliasResult aliasErrno (const MemoryLocation &Loc, const Module *M)
LLVM_ABI ModRefInfo getModRefInfoMask (const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals)
LLVM_ABI MemoryEffects getMemoryEffects (const CallBase *Call, AAQueryInfo &AAQI)
LLVM_ABI MemoryEffects getMemoryEffects (const Function *F)
LLVM_ABI ModRefInfo getModRefInfo (const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI)
LLVM_ABI 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)
AliasResult aliasErrno (const MemoryLocation &Loc, const Module *M)
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

A simple AA result that uses TBAA metadata to answer queries.

Definition at line 32 of file TypeBasedAliasAnalysis.h.

Constructor & Destructor Documentation

◆ TypeBasedAAResult()

llvm::TypeBasedAAResult::TypeBasedAAResult ( bool UsingTypeSanitizer)
inline

Definition at line 39 of file TypeBasedAliasAnalysis.h.

Member Function Documentation

◆ alias()

◆ aliasErrno()

AliasResult TypeBasedAAResult::aliasErrno ( const MemoryLocation & Loc,
const Module * M )

◆ getMemoryEffects() [1/2]

◆ getMemoryEffects() [2/2]

MemoryEffects TypeBasedAAResult::getMemoryEffects ( const Function * F)

◆ getModRefInfo() [1/2]

ModRefInfo TypeBasedAAResult::getModRefInfo ( const CallBase * Call,
const MemoryLocation & Loc,
AAQueryInfo & AAQI )

Definition at line 446 of file TypeBasedAliasAnalysis.cpp.

References Call, llvm::ModRef, and llvm::NoModRef.

◆ getModRefInfo() [2/2]

ModRefInfo TypeBasedAAResult::getModRefInfo ( const CallBase * Call1,
const CallBase * Call2,
AAQueryInfo & AAQI )

◆ getModRefInfoMask()

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

Definition at line 408 of file TypeBasedAliasAnalysis.cpp.

References isStructPathTBAA(), llvm::ModRef, and llvm::NoModRef.

◆ invalidate()

bool llvm::TypeBasedAAResult::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 45 of file TypeBasedAliasAnalysis.h.


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