LLVM 19.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::DenormalFPMathState Struct Reference

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

Inheritance diagram for llvm::DenormalFPMathState:
Inheritance graph
[legend]

Classes

struct  DenormalState
 

Public Member Functions

 DenormalFPMathState ()=default
 
DenormalState getKnown () const
 
DenormalState getAssumed () const
 
bool isValidState () const override
 Return if this abstract state is in a valid state.
 
bool isModeFixed () const
 Return true if there are no dynamic components to the denormal mode worth specializing.
 
bool isAtFixpoint () const override
 Return if this abstract state is fixed, thus does not need to be updated if information changes as it cannot change itself.
 
ChangeStatus indicateFixpoint ()
 
ChangeStatus indicateOptimisticFixpoint () override
 Indicate that the abstract state should converge to the optimistic state.
 
ChangeStatus indicatePessimisticFixpoint () override
 Indicate that the abstract state should converge to the pessimistic state.
 
DenormalFPMathState operator^= (const DenormalFPMathState &Caller)
 
- Public Member Functions inherited from llvm::AbstractState
virtual ~AbstractState ()=default
 
virtual bool isValidState () const =0
 Return if this abstract state is in a valid state.
 
virtual bool isAtFixpoint () const =0
 Return if this abstract state is fixed, thus does not need to be updated if information changes as it cannot change itself.
 
virtual ChangeStatus indicateOptimisticFixpoint ()=0
 Indicate that the abstract state should converge to the optimistic state.
 
virtual ChangeStatus indicatePessimisticFixpoint ()=0
 Indicate that the abstract state should converge to the pessimistic state.
 

Public Attributes

DenormalState Known
 
bool IsAtFixedpoint = false
 Explicitly track whether we've hit a fixed point.
 

Detailed Description

Definition at line 5133 of file Attributor.h.

Constructor & Destructor Documentation

◆ DenormalFPMathState()

llvm::DenormalFPMathState::DenormalFPMathState ( )
default

Member Function Documentation

◆ getAssumed()

DenormalState llvm::DenormalFPMathState::getAssumed ( ) const
inline

Definition at line 5186 of file Attributor.h.

References Known.

◆ getKnown()

DenormalState llvm::DenormalFPMathState::getKnown ( ) const
inline

Definition at line 5182 of file Attributor.h.

References Known.

◆ indicateFixpoint()

ChangeStatus llvm::DenormalFPMathState::indicateFixpoint ( )
inline

◆ indicateOptimisticFixpoint()

ChangeStatus llvm::DenormalFPMathState::indicateOptimisticFixpoint ( )
inlineoverridevirtual

Indicate that the abstract state should converge to the optimistic state.

This will usually make the optimistically assumed state the known to be true state.

Returns
ChangeStatus::UNCHANGED as the assumed value should not change.

Implements llvm::AbstractState.

Definition at line 5211 of file Attributor.h.

References indicateFixpoint().

◆ indicatePessimisticFixpoint()

ChangeStatus llvm::DenormalFPMathState::indicatePessimisticFixpoint ( )
inlineoverridevirtual

Indicate that the abstract state should converge to the pessimistic state.

This will usually revert the optimistically assumed state to the known to be true state.

Returns
ChangeStatus::CHANGED as the assumed value may change.

Implements llvm::AbstractState.

Definition at line 5215 of file Attributor.h.

References indicateFixpoint().

◆ isAtFixpoint()

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

Return if this abstract state is fixed, thus does not need to be updated if information changes as it cannot change itself.

Implements llvm::AbstractState.

Definition at line 5201 of file Attributor.h.

References IsAtFixedpoint.

◆ isModeFixed()

bool llvm::DenormalFPMathState::isModeFixed ( ) const
inline

Return true if there are no dynamic components to the denormal mode worth specializing.

Definition at line 5194 of file Attributor.h.

References llvm::DenormalMode::Dynamic, llvm::DenormalMode::Input, Known, llvm::DenormalFPMathState::DenormalState::Mode, llvm::DenormalFPMathState::DenormalState::ModeF32, and llvm::DenormalMode::Output.

◆ isValidState()

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

Return if this abstract state is in a valid state.

If false, no information provided should be used.

Implements llvm::AbstractState.

Definition at line 5188 of file Attributor.h.

References llvm::DenormalFPMathState::DenormalState::isValid(), and Known.

◆ operator^=()

DenormalFPMathState llvm::DenormalFPMathState::operator^= ( const DenormalFPMathState Caller)
inline

Definition at line 5219 of file Attributor.h.

References Known, and llvm::DenormalFPMathState::DenormalState::unionWith().

Member Data Documentation

◆ IsAtFixedpoint

bool llvm::DenormalFPMathState::IsAtFixedpoint = false

Explicitly track whether we've hit a fixed point.

Definition at line 5178 of file Attributor.h.

Referenced by indicateFixpoint(), and isAtFixpoint().

◆ Known

DenormalState llvm::DenormalFPMathState::Known

Definition at line 5175 of file Attributor.h.

Referenced by getAssumed(), getKnown(), isModeFixed(), isValidState(), and operator^=().


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