struct AAValueSimplify

Declaration

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

Description

An abstract interface for value simplify abstract attribute.

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

Inherits from: StateWrapper

Member Variables

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

Method Overview

  • public AAValueSimplify(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • public static bool classof(const llvm::AbstractAttribute * AA)
  • public static llvm::AAValueSimplify & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
  • private virtual Optional<llvm::Value *> getAssumedSimplifiedValue(llvm::Attributor & A) const
  • public const char * getIdAddr() const
  • public const std::string getName() const

Methods

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

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

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 AAValueSimplify

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

Parameters

const llvm::AbstractAttribute* AA

static llvm::AAValueSimplify& 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:3949

Parameters

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

virtual Optional<llvm::Value*>
getAssumedSimplifiedValue(
    llvm::Attributor& A) const

Description

Return an assumed simplified value if a single candidate is found. If there cannot be one, return original value. If it is not clear yet, return the Optional::NoneType. Use `Attributor::getAssumedSimplified` for value simplification.

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

Parameters

llvm::Attributor& A

const char* getIdAddr() const

Description

See AbstractAttribute::getIdAddr()

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

const std::string getName() const

Description

See AbstractAttribute::getName()

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