struct AAPotentialValues

Declaration

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

Description

Helper to tie a abstract state implementation to an abstract attribute.

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

Inherits from: StateWrapper

Member Variables

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

Method Overview

  • public AAPotentialValues(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public static bool classof(const llvm::AbstractAttribute * AA)
  • public static llvm::AAPotentialValues & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • private virtual bool getAssumedSimplifiedValues(llvm::Attributor & A, SmallVectorImpl<AA::ValueAndContext> & Values, AA::ValueScope) const
  • public const char * getIdAddr() const
  • public const std::string getName() const
  • public static llvm::Value * getSingleValue(llvm::Attributor & A, const llvm::AbstractAttribute & AA, const llvm::IRPosition & IRP, SmallVectorImpl<AA::ValueAndContext> & Values)
  • public llvm::PotentialLLVMValuesState & getState()
  • public const llvm::PotentialLLVMValuesState & getState() const

Methods

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

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

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 AAPotentialValues

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

Parameters

const llvm::AbstractAttribute* AA

static llvm::AAPotentialValues& 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:4612

Parameters

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

virtual bool getAssumedSimplifiedValues(
    llvm::Attributor& A,
    SmallVectorImpl<AA::ValueAndContext>& Values,
    AA::ValueScope) const

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

Parameters

llvm::Attributor& A
SmallVectorImpl<AA::ValueAndContext>& Values
AA::ValueScope

const char* getIdAddr() const

Description

See AbstractAttribute::getIdAddr()

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

const std::string getName() const

Description

See AbstractAttribute::getName()

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

static llvm::Value* getSingleValue(
    llvm::Attributor& A,
    const llvm::AbstractAttribute& AA,
    const llvm::IRPosition& IRP,
    SmallVectorImpl<AA::ValueAndContext>& Values)

Description

Extract the single value in \p Values if any.

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

Parameters

llvm::Attributor& A
const llvm::AbstractAttribute& AA
const llvm::IRPosition& IRP
SmallVectorImpl<AA::ValueAndContext>& Values

llvm::PotentialLLVMValuesState& getState()

Description

See AbstractAttribute::getState(...).

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

const llvm::PotentialLLVMValuesState& getState()
    const

Description

See AbstractAttribute::getState(...).

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