struct AAValueConstantRange

Declaration

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

Description

An abstract interface for range value analysis.

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

Inherits from: StateWrapper

Member Variables

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

Method Overview

  • public AAValueConstantRange(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public static bool classof(const llvm::AbstractAttribute * AA)
  • public static llvm::AAValueConstantRange & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public Optional<llvm::Constant *> getAssumedConstant(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
  • public virtual llvm::ConstantRange getAssumedConstantRange(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
  • public const char * getIdAddr() const
  • public virtual llvm::ConstantRange getKnownConstantRange(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
  • public const std::string getName() const
  • public llvm::IntegerRangeState & getState()
  • public const llvm::IntegerRangeState & getState() const

Methods

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

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

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 AAValueConstantRange

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

Parameters

const llvm::AbstractAttribute* AA

static llvm::AAValueConstantRange&
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:4297

Parameters

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

Optional<llvm::Constant*> getAssumedConstant(
    llvm::Attributor& A,
    const llvm::Instruction* CtxI = nullptr) const

Description

Return an assumed constant for the associated value a program point \p CtxI.

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

Parameters

llvm::Attributor& A
const llvm::Instruction* CtxI = nullptr

virtual llvm::ConstantRange
getAssumedConstantRange(
    llvm::Attributor& A,
    const llvm::Instruction* CtxI = nullptr) const

Description

Return an assumed range for the associated value a program point \p CtxI. If \p I is nullptr, simply return an assumed range.

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

Parameters

llvm::Attributor& A
const llvm::Instruction* CtxI = nullptr

const char* getIdAddr() const

Description

See AbstractAttribute::getIdAddr()

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

virtual llvm::ConstantRange getKnownConstantRange(
    llvm::Attributor& A,
    const llvm::Instruction* CtxI = nullptr) const

Description

Return a known range for the associated value at a program point \p CtxI. If \p I is nullptr, simply return a known range.

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

Parameters

llvm::Attributor& A
const llvm::Instruction* CtxI = nullptr

const std::string getName() const

Description

See AbstractAttribute::getName()

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

llvm::IntegerRangeState& getState()

Description

See AbstractAttribute::getState(...).

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

const llvm::IntegerRangeState& getState() const

Description

See AbstractAttribute::getState(...).

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