LLVM 17.0.0git
|
These are IR-level optimization flags that may be propagated to SDNodes. More...
#include "llvm/CodeGen/SelectionDAGNodes.h"
Public Member Functions | |
SDNodeFlags () | |
Default constructor turns off all optimization flags. | |
void | copyFMF (const FPMathOperator &FPMO) |
Propagate the fast-math-flags from an IR FPMathOperator. | |
void | setNoUnsignedWrap (bool b) |
void | setNoSignedWrap (bool b) |
void | setExact (bool b) |
void | setNoNaNs (bool b) |
void | setNoInfs (bool b) |
void | setNoSignedZeros (bool b) |
void | setAllowReciprocal (bool b) |
void | setAllowContract (bool b) |
void | setApproximateFuncs (bool b) |
void | setAllowReassociation (bool b) |
void | setNoFPExcept (bool b) |
bool | hasNoUnsignedWrap () const |
bool | hasNoSignedWrap () const |
bool | hasExact () const |
bool | hasNoNaNs () const |
bool | hasNoInfs () const |
bool | hasNoSignedZeros () const |
bool | hasAllowReciprocal () const |
bool | hasAllowContract () const |
bool | hasApproximateFuncs () const |
bool | hasAllowReassociation () const |
bool | hasNoFPExcept () const |
void | intersectWith (const SDNodeFlags Flags) |
Clear any flags in this flag set that aren't also set in Flags. | |
These are IR-level optimization flags that may be propagated to SDNodes.
TODO: This data structure should be shared by the IR optimizer and the the backend.
Definition at line 379 of file SelectionDAGNodes.h.
|
inline |
Default constructor turns off all optimization flags.
Definition at line 401 of file SelectionDAGNodes.h.
|
inline |
Propagate the fast-math-flags from an IR FPMathOperator.
Definition at line 408 of file SelectionDAGNodes.h.
References llvm::FPMathOperator::hasAllowContract(), llvm::FPMathOperator::hasAllowReassoc(), llvm::FPMathOperator::hasAllowReciprocal(), llvm::FPMathOperator::hasApproxFunc(), llvm::FPMathOperator::hasNoInfs(), llvm::FPMathOperator::hasNoNaNs(), llvm::FPMathOperator::hasNoSignedZeros(), setAllowContract(), setAllowReassociation(), setAllowReciprocal(), setApproximateFuncs(), setNoInfs(), setNoNaNs(), and setNoSignedZeros().
|
inline |
Definition at line 439 of file SelectionDAGNodes.h.
|
inline |
Definition at line 441 of file SelectionDAGNodes.h.
|
inline |
Definition at line 438 of file SelectionDAGNodes.h.
|
inline |
Definition at line 440 of file SelectionDAGNodes.h.
|
inline |
Definition at line 434 of file SelectionDAGNodes.h.
|
inline |
Definition at line 442 of file SelectionDAGNodes.h.
|
inline |
Definition at line 436 of file SelectionDAGNodes.h.
|
inline |
Definition at line 435 of file SelectionDAGNodes.h.
|
inline |
Definition at line 433 of file SelectionDAGNodes.h.
Referenced by combineShiftToAVG(), and llvm::TargetLowering::SimplifySetCC().
|
inline |
Definition at line 437 of file SelectionDAGNodes.h.
Referenced by PerformFAddVSelectCombine().
|
inline |
Definition at line 432 of file SelectionDAGNodes.h.
Referenced by combineShiftToAVG(), and llvm::TargetLowering::SimplifySetCC().
|
inline |
Clear any flags in this flag set that aren't also set in Flags.
All flags will be cleared if Flags are undefined.
Definition at line 446 of file SelectionDAGNodes.h.
References Flags.
Referenced by llvm::SDNode::intersectFlagsWith().
|
inline |
Definition at line 426 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 428 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 425 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 427 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 421 of file SelectionDAGNodes.h.
|
inline |
Definition at line 429 of file SelectionDAGNodes.h.
|
inline |
Definition at line 423 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 422 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 420 of file SelectionDAGNodes.h.
|
inline |
Definition at line 424 of file SelectionDAGNodes.h.
Referenced by copyFMF().
|
inline |
Definition at line 419 of file SelectionDAGNodes.h.