LLVM 22.0.0git
llvm::ValueSimplifyStateType Struct Reference

#include "llvm/Transforms/IPO/Attributor.h"

Inheritance diagram for llvm::ValueSimplifyStateType:
[legend]

Public Member Functions

 ValueSimplifyStateType (Type *Ty)
bool isValidState () const override
 See AbstractState::isValidState(...)
bool isAtFixpoint () const override
 See AbstractState::isAtFixpoint(...)
ValueSimplifyStateType getAssumed ()
 Return the assumed state encoding.
const ValueSimplifyStateTypegetAssumed () const
ChangeStatus indicatePessimisticFixpoint () override
 See AbstractState::indicatePessimisticFixpoint(...)
ChangeStatus indicateOptimisticFixpoint () override
 See AbstractState::indicateOptimisticFixpoint(...)
ValueSimplifyStateType operator^= (const ValueSimplifyStateType &VS)
 "Clamp" this state with PVS.
bool operator== (const ValueSimplifyStateType &RHS) const
Public Member Functions inherited from llvm::AbstractState
virtual ~AbstractState ()=default

Static Public Member Functions

static ValueSimplifyStateType getBestState (Type *Ty)
static ValueSimplifyStateType getBestState (const ValueSimplifyStateType &VS)
static ValueSimplifyStateType getWorstState (Type *Ty)
 Return the worst possible representable state.
static ValueSimplifyStateType getWorstState (const ValueSimplifyStateType &VS)

Protected Member Functions

LLVM_ABI bool unionAssumed (std::optional< Value * > Other)
 Merge Other into the currently assumed simplified value.

Protected Attributes

TypeTy
 The type of the original value.
BooleanState BS
 Helper to track validity and fixpoint.
std::optional< Value * > SimplifiedAssociatedValue
 An assumed simplified value.

Detailed Description

Definition at line 4480 of file Attributor.h.

Constructor & Destructor Documentation

◆ ValueSimplifyStateType()

llvm::ValueSimplifyStateType::ValueSimplifyStateType ( Type * Ty)
inline

Member Function Documentation

◆ getAssumed() [1/2]

ValueSimplifyStateType llvm::ValueSimplifyStateType::getAssumed ( )
inline

Return the assumed state encoding.

Definition at line 4509 of file Attributor.h.

References ValueSimplifyStateType().

◆ getAssumed() [2/2]

const ValueSimplifyStateType & llvm::ValueSimplifyStateType::getAssumed ( ) const
inline

Definition at line 4510 of file Attributor.h.

References ValueSimplifyStateType().

◆ getBestState() [1/2]

ValueSimplifyStateType llvm::ValueSimplifyStateType::getBestState ( const ValueSimplifyStateType & VS)
inlinestatic

Definition at line 4487 of file Attributor.h.

References getBestState(), and ValueSimplifyStateType().

◆ getBestState() [2/2]

ValueSimplifyStateType llvm::ValueSimplifyStateType::getBestState ( Type * Ty)
inlinestatic

Definition at line 4484 of file Attributor.h.

References Ty, and ValueSimplifyStateType().

Referenced by getBestState().

◆ getWorstState() [1/2]

ValueSimplifyStateType llvm::ValueSimplifyStateType::getWorstState ( const ValueSimplifyStateType & VS)
inlinestatic

Definition at line 4498 of file Attributor.h.

References getWorstState(), and ValueSimplifyStateType().

◆ getWorstState() [2/2]

ValueSimplifyStateType llvm::ValueSimplifyStateType::getWorstState ( Type * Ty)
inlinestatic

Return the worst possible representable state.

Definition at line 4492 of file Attributor.h.

References Ty, and ValueSimplifyStateType().

Referenced by getWorstState().

◆ indicateOptimisticFixpoint()

ChangeStatus llvm::ValueSimplifyStateType::indicateOptimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicateOptimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 4518 of file Attributor.h.

References BS.

◆ indicatePessimisticFixpoint()

ChangeStatus llvm::ValueSimplifyStateType::indicatePessimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicatePessimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 4513 of file Attributor.h.

References BS.

◆ isAtFixpoint()

bool llvm::ValueSimplifyStateType::isAtFixpoint ( ) const
inlineoverridevirtual

See AbstractState::isAtFixpoint(...)

Implements llvm::AbstractState.

Definition at line 4506 of file Attributor.h.

References BS.

◆ isValidState()

bool llvm::ValueSimplifyStateType::isValidState ( ) const
inlineoverridevirtual

See AbstractState::isValidState(...)

Implements llvm::AbstractState.

Definition at line 4503 of file Attributor.h.

References BS.

Referenced by operator==().

◆ operator==()

bool llvm::ValueSimplifyStateType::operator== ( const ValueSimplifyStateType & RHS) const
inline

◆ operator^=()

ValueSimplifyStateType llvm::ValueSimplifyStateType::operator^= ( const ValueSimplifyStateType & VS)
inline

"Clamp" this state with PVS.

Definition at line 4523 of file Attributor.h.

References BS, unionAssumed(), and ValueSimplifyStateType().

◆ unionAssumed()

bool ValueSimplifyStateType::unionAssumed ( std::optional< Value * > Other)
protected

Merge Other into the currently assumed simplified value.

---------------— Value Simplify Attribute -------------------------—

Definition at line 6145 of file AttributorAttributes.cpp.

References llvm::AA::combineOptionalValuesInAAValueLatice(), llvm::dbgs(), LLVM_DEBUG, llvm::Other, SimplifiedAssociatedValue, and Ty.

Referenced by operator^=().

Member Data Documentation

◆ BS

BooleanState llvm::ValueSimplifyStateType::BS
protected

Helper to track validity and fixpoint.

Definition at line 4545 of file Attributor.h.

Referenced by indicateOptimisticFixpoint(), indicatePessimisticFixpoint(), isAtFixpoint(), isValidState(), and operator^=().

◆ SimplifiedAssociatedValue

std::optional<Value *> llvm::ValueSimplifyStateType::SimplifiedAssociatedValue
protected

An assumed simplified value.

Initially, it is set to std::nullopt, which means that the value is not clear under current assumption. If in the pessimistic state, getAssumedSimplifiedValue doesn't return this value but returns orignal associated value.

Definition at line 4551 of file Attributor.h.

Referenced by operator==(), and unionAssumed().

◆ Ty

Type* llvm::ValueSimplifyStateType::Ty
protected

The type of the original value.

Definition at line 4539 of file Attributor.h.

Referenced by getBestState(), getWorstState(), unionAssumed(), and ValueSimplifyStateType().


The documentation for this struct was generated from the following files: