class CFLAndersAAResult

Declaration

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

Description

A CRTP-driven "mixin" base class to help implement the function alias analysis results concept. Because of the nature of many alias analysis implementations, they often only implement a subset of the interface. This base class will attempt to implement the remaining portions of the interface in terms of simpler forms of the interface where possible, and otherwise provide conservatively correct fallback implementations. Implementors of an alias analysis should derive from this CRTP, and then override specific methods that they wish to customize. There is no need to use virtual anywhere, the CRTP base class does static dispatch to the derived type passed into it.

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

Inherits from: AAResultBase

Method Overview

  • public CFLAndersAAResult(std::function<const TargetLibraryInfo &(Function &)> GetTLI)
  • public CFLAndersAAResult(llvm::CFLAndersAAResult && RHS)
  • public llvm::AliasResult alias(const llvm::MemoryLocation &, const llvm::MemoryLocation &, llvm::AAQueryInfo &)
  • public void evict(const llvm::Function * Fn)
  • public const cflaa::AliasSummary * getAliasSummary(const llvm::Function &)
  • public bool invalidate(llvm::Function &, const llvm::PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
  • public llvm::AliasResult query(const llvm::MemoryLocation &, const llvm::MemoryLocation &)
  • public ~CFLAndersAAResult()

Methods

CFLAndersAAResult(
    std::function<const TargetLibraryInfo&(
        Function&)> GetTLI)

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:44

Parameters

std::function<const TargetLibraryInfo&(Function&)> GetTLI

CFLAndersAAResult(llvm::CFLAndersAAResult&& RHS)

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:46

Parameters

llvm::CFLAndersAAResult&& RHS

llvm::AliasResult alias(
    const llvm::MemoryLocation&,
    const llvm::MemoryLocation&,
    llvm::AAQueryInfo&)

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:64

Parameters

const llvm::MemoryLocation&
const llvm::MemoryLocation&
llvm::AAQueryInfo&

void evict(const llvm::Function* Fn)

Description

Evict the given function from cache

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:57

Parameters

const llvm::Function* Fn

const cflaa::AliasSummary* getAliasSummary(
    const llvm::Function&)

Description

Get the alias summary for the given function Return nullptr if the summary is not found or not available

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:61

Parameters

const llvm::Function&

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/CFLAndersAliasAnalysis.h:51

Parameters

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

llvm::AliasResult query(
    const llvm::MemoryLocation&,
    const llvm::MemoryLocation&)

Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:63

Parameters

const llvm::MemoryLocation&
const llvm::MemoryLocation&

~CFLAndersAAResult()

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