class TypeBasedAAResult

Declaration

class TypeBasedAAResult : public AAResultBase { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:31

Inherits from: AAResultBase

Method Overview

  • private bool Aliases(const llvm::MDNode * A, const llvm::MDNode * B) const
  • public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB, llvm::AAQueryInfo & AAQI)
  • public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::CallBase * Call)
  • public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::Function * F)
  • public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call, const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI)
  • public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call1, const llvm::CallBase * Call2, llvm::AAQueryInfo & AAQI)
  • public bool invalidate(llvm::Function &, const llvm::PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
  • public bool pointsToConstantMemory(const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI, bool OrLocal)

Methods

bool Aliases(const llvm::MDNode* A,
             const llvm::MDNode* B) const

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:55

Parameters

const llvm::MDNode* A
const llvm::MDNode* B

llvm::AliasResult alias(
    const llvm::MemoryLocation& LocA,
    const llvm::MemoryLocation& LocB,
    llvm::AAQueryInfo& AAQI)

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:43

Parameters

const llvm::MemoryLocation& LocA
const llvm::MemoryLocation& LocB
llvm::AAQueryInfo& AAQI

llvm::FunctionModRefBehavior getModRefBehavior(
    const llvm::CallBase* Call)

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:47

Parameters

const llvm::CallBase* Call

llvm::FunctionModRefBehavior getModRefBehavior(
    const llvm::Function* F)

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:48

Parameters

const llvm::Function* F

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

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:49

Parameters

const llvm::CallBase* Call
const llvm::MemoryLocation& Loc
llvm::AAQueryInfo& AAQI

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

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:51

Parameters

const llvm::CallBase* Call1
const llvm::CallBase* Call2
llvm::AAQueryInfo& AAQI

bool invalidate(
    llvm::Function&,
    const llvm::PreservedAnalyses&,
    FunctionAnalysisManager::Invalidator&)

Description

Handle invalidation events from the new pass manager. By definition, this result is stateless and so remains valid.

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:38

Parameters

llvm::Function&
const llvm::PreservedAnalyses&
FunctionAnalysisManager::Invalidator&

bool pointsToConstantMemory(
    const llvm::MemoryLocation& Loc,
    llvm::AAQueryInfo& AAQI,
    bool OrLocal)

Declared at: llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h:45

Parameters

const llvm::MemoryLocation& Loc
llvm::AAQueryInfo& AAQI
bool OrLocal