class ScopedNoAliasAAResult

Declaration

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

Description

A simple AA result which uses scoped-noalias metadata to answer queries.

Declared at: llvm/include/llvm/Analysis/ScopedNoAliasAA.h:29

Inherits from: AAResultBase

Method Overview

  • public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB, llvm::AAQueryInfo & AAQI)
  • 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 &)
  • private bool mayAliasInScopes(const llvm::MDNode * Scopes, const llvm::MDNode * NoAlias) const

Methods

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

Declared at: llvm/include/llvm/Analysis/ScopedNoAliasAA.h:41

Parameters

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

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

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

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/ScopedNoAliasAA.h:45

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/ScopedNoAliasAA.h:36

Parameters

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

bool mayAliasInScopes(
    const llvm::MDNode* Scopes,
    const llvm::MDNode* NoAlias) const

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

Parameters

const llvm::MDNode* Scopes
const llvm::MDNode* NoAlias