struct AAReachability

Declaration

struct AAReachability : public StateWrapper { /* full declaration omitted */ };

Description

An abstract interface to determine reachability of point A to B.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3310

Inherits from: StateWrapper

Member Variables

public static const char ID
Unique ID (due to the unique address)

Method Overview

  • public AAReachability(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public static bool classof(const llvm::AbstractAttribute * AA)
  • public static llvm::AAReachability & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public const char * getIdAddr() const
  • public const std::string getName() const
  • public bool isAssumedReachable(llvm::Attributor & A, const llvm::Instruction & From, const llvm::Instruction & To) const
  • public bool isKnownReachable(llvm::Attributor & A, const llvm::Instruction & From, const llvm::Instruction & To) const

Methods

AAReachability(const llvm::IRPosition& IRP,
               llvm::Attributor& A)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3312

Parameters

const llvm::IRPosition& IRP
llvm::Attributor& A

static bool classof(
    const llvm::AbstractAttribute* AA)

Description

This function should return true if the type of the \p AA is AAReachability

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3346

Parameters

const llvm::AbstractAttribute* AA

static llvm::AAReachability& createForPosition(
    const llvm::IRPosition& IRP,
    llvm::Attributor& A)

Description

Create an abstract attribute view for the position \p IRP.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3335

Parameters

const llvm::IRPosition& IRP
llvm::Attributor& A

const char* getIdAddr() const

Description

See AbstractAttribute::getIdAddr()

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3342

const std::string getName() const

Description

See AbstractAttribute::getName()

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3339

bool isAssumedReachable(
    llvm::Attributor& A,
    const llvm::Instruction& From,
    const llvm::Instruction& To) const

Description

Returns true if 'From' instruction is assumed to reach, 'To' instruction. Users should provide two positions they are interested in, and the class determines (and caches) reachability.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3317

Parameters

llvm::Attributor& A
const llvm::Instruction& From
const llvm::Instruction& To

bool isKnownReachable(
    llvm::Attributor& A,
    const llvm::Instruction& From,
    const llvm::Instruction& To) const

Description

Returns true if 'From' instruction is known to reach, 'To' instruction. Users should provide two positions they are interested in, and the class determines (and caches) reachability.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3327

Parameters

llvm::Attributor& A
const llvm::Instruction& From
const llvm::Instruction& To