class BatchAAResults

Declaration

class BatchAAResults { /* full declaration omitted */ };

Description

This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries. BatchAAResults is reusing the same `AAQueryInfo` to preserve the state across queries, esentially making AA work in "batch mode". The internal state cannot be cleared, so to go "out-of-batch-mode", the user must either use AAResults, or create a new BatchAAResults.

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:777

Method Overview

  • public BatchAAResults(llvm::AAResults & AAR)
  • public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB)
  • public llvm::ModRefInfo getArgModRefInfo(const llvm::CallBase * Call, unsigned int ArgIdx)
  • public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::CallBase * Call)
  • public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call, const llvm::MemoryLocation & Loc)
  • public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call1, const llvm::CallBase * Call2)
  • public llvm::ModRefInfo getModRefInfo(const llvm::Instruction * I, const Optional<llvm::MemoryLocation> & OptLoc)
  • public llvm::ModRefInfo getModRefInfo(llvm::Instruction * I, const llvm::CallBase * Call2)
  • public bool pointsToConstantMemory(const llvm::MemoryLocation & Loc, bool OrLocal = false)

Methods

BatchAAResults(llvm::AAResults& AAR)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:782

Parameters

llvm::AAResults& AAR

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

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:783

Parameters

const llvm::MemoryLocation& LocA
const llvm::MemoryLocation& LocB

llvm::ModRefInfo getArgModRefInfo(
    const llvm::CallBase* Call,
    unsigned int ArgIdx)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:802

Parameters

const llvm::CallBase* Call
unsigned int ArgIdx

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

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:805

Parameters

const llvm::CallBase* Call

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

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:789

Parameters

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

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

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:792

Parameters

const llvm::CallBase* Call1
const llvm::CallBase* Call2

llvm::ModRefInfo getModRefInfo(
    const llvm::Instruction* I,
    const Optional<llvm::MemoryLocation>& OptLoc)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:795

Parameters

const llvm::Instruction* I
const Optional<llvm::MemoryLocation>& OptLoc

llvm::ModRefInfo getModRefInfo(
    llvm::Instruction* I,
    const llvm::CallBase* Call2)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:799

Parameters

llvm::Instruction* I
const llvm::CallBase* Call2

bool pointsToConstantMemory(
    const llvm::MemoryLocation& Loc,
    bool OrLocal = false)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:786

Parameters

const llvm::MemoryLocation& Loc
bool OrLocal = false