LLVM 20.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 5127 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 5178 of file Attributor.h.

References Known.

◆ getKnown()

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

Definition at line 5174 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 5199 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 5203 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 5191 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 5184 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 5180 of file Attributor.h.

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

◆ operator^=()

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

Definition at line 5207 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 5170 of file Attributor.h.

Referenced by indicateFixpoint(), and isAtFixpoint().

◆ Known

DenormalState llvm::DenormalFPMathState::Known

Definition at line 5167 of file Attributor.h.

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


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