struct AAValueSimplify

Declaration

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

Description

An abstract interface for value simplify abstract attribute.

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

Inherits from: StateWrapper, IRPosition

Member Variables

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

Inherited from IRPosition:

protected AnchorVal
protected KindOrArgNo
public static EmptyKey
public static TombstoneKey

Method Overview

Inherited from IRPosition:

Methods

AAValueSimplify(const llvm::IRPosition& IRP)

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

Parameters

const llvm::IRPosition& IRP

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

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.

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

Parameters

llvm::Attributor& A

const llvm::IRPosition& getIRPosition() const

Description

Return an IR position, see struct IRPosition.

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