struct AAIsDead

Declaration

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

Description

An abstract interface for liveness abstract attribute.

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

Inherits from: StateWrapper

Member Variables

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

Method Overview

  • public AAIsDead(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public static bool classof(const llvm::AbstractAttribute * AA)
  • public static llvm::AAIsDead & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public const char * getIdAddr() const
  • public const std::string getName() const
  • protected virtual bool isAssumedDead() const
  • protected virtual bool isAssumedDead(const llvm::BasicBlock * BB) const
  • protected virtual bool isAssumedDead(const llvm::Instruction * I) const
  • public virtual bool isEdgeDead(const llvm::BasicBlock * From, const llvm::BasicBlock * To) const
  • protected virtual bool isKnownDead() const
  • protected virtual bool isKnownDead(const llvm::BasicBlock * BB) const
  • protected virtual bool isKnownDead(const llvm::Instruction * I) const
  • protected template <typename T>bool isLiveInstSet(T begin, T end) const
  • protected virtual bool isRemovableStore() const
  • public static bool mayCatchAsynchronousExceptions(const llvm::Function & F)

Methods

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

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

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 AAIsDead

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

Parameters

const llvm::AbstractAttribute* AA

static llvm::AAIsDead& 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:3503

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:3520

const std::string getName() const

Description

See AbstractAttribute::getName()

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

virtual bool isAssumedDead() const

Description

Returns true if the underlying value is assumed dead.

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

virtual bool isAssumedDead(
    const llvm::BasicBlock* BB) const

Description

Returns true if \p BB is assumed dead.

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

Parameters

const llvm::BasicBlock* BB

virtual bool isAssumedDead(
    const llvm::Instruction* I) const

Description

Returns true if \p I is assumed dead.

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

Parameters

const llvm::Instruction* I

virtual bool isEdgeDead(
    const llvm::BasicBlock* From,
    const llvm::BasicBlock* To) const

Description

Return if the edge from \p From BB to \p To BB is assumed dead. This is specifically useful in AAReachability.

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

Parameters

const llvm::BasicBlock* From
const llvm::BasicBlock* To

virtual bool isKnownDead() const

Description

Returns true if the underlying value is known dead.

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

virtual bool isKnownDead(
    const llvm::BasicBlock* BB) const

Description

Returns true if \p BB is known dead.

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

Parameters

const llvm::BasicBlock* BB

virtual bool isKnownDead(
    const llvm::Instruction* I) const

Description

Returns true if \p I is known dead.

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

Parameters

const llvm::Instruction* I

template <typename T>
bool isLiveInstSet(T begin, T end) const

Description

This method is used to check if at least one instruction in a collection of instructions is live.

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

Templates

T

Parameters

T begin
T end

virtual bool isRemovableStore() const

Description

Return true if the underlying value is a store that is known to be removable. This is different from dead stores as the removable store can have an effect on live values, especially loads, but that effect is propagated which allows us to remove the store in turn.

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

static bool mayCatchAsynchronousExceptions(
    const llvm::Function& F)

Description

Determine if \p F might catch asynchronous exceptions.

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

Parameters

const llvm::Function& F