LLVM: llvm::SDNodeFlags Struct Reference (original) (raw)
These are IR-level optimization flags that may be propagated to SDNodes. More...
#include "[llvm/CodeGen/SelectionDAGNodes.h](SelectionDAGNodes%5F8h%5Fsource.html)"
| Public Types |
|
| enum |
: unsigned { None = 0 , NoUnsignedWrap = 1 << 0 , NoSignedWrap = 1 << 1 , NoWrap = NoUnsignedWrap | NoSignedWrap , Exact = 1 << 2 , Disjoint = 1 << 3 , NonNeg = 1 << 4 , NoNaNs = 1 << 5 , NoInfs = 1 << 6 , NoSignedZeros = 1 << 7 , AllowReciprocal = 1 << 8 , AllowContract = 1 << 9 , ApproximateFuncs = 1 << 10 , AllowReassociation = 1 << 11 , NoFPExcept = 1 << 12 , Unpredictable = 1 << 13 , SameSign = 1 << 14 , InBounds = 1 << 15 , PoisonGeneratingFlags, FastMathFlags } |
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 384 of file SelectionDAGNodes.h.
◆ anonymous enum
| Enumerator |
| None |
| NoUnsignedWrap |
| NoSignedWrap |
| NoWrap |
| Exact |
| Disjoint |
| NonNeg |
| NoNaNs |
| NoInfs |
| NoSignedZeros |
| AllowReciprocal |
| AllowContract |
| ApproximateFuncs |
| AllowReassociation |
| NoFPExcept |
| Unpredictable |
| SameSign |
| InBounds |
| PoisonGeneratingFlags |
| FastMathFlags |
Definition at line 395 of file SelectionDAGNodes.h.
◆ copyFMF()
Propagate the fast-math-flags from an IR FPMathOperator.
Definition at line 444 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().
◆ hasAllowContract()
| bool llvm::SDNodeFlags::hasAllowContract ( ) const |
inline |
◆ hasAllowReassociation()
| bool llvm::SDNodeFlags::hasAllowReassociation ( ) const |
inline |
◆ hasAllowReciprocal()
| bool llvm::SDNodeFlags::hasAllowReciprocal ( ) const |
inline |
◆ hasApproximateFuncs()
| bool llvm::SDNodeFlags::hasApproximateFuncs ( ) const |
inline |
◆ hasDisjoint()
| bool llvm::SDNodeFlags::hasDisjoint ( ) const |
inline |
◆ hasExact()
| bool llvm::SDNodeFlags::hasExact ( ) const |
inline |
◆ hasInBounds()
| bool llvm::SDNodeFlags::hasInBounds ( ) const |
inline |
◆ hasNoFPExcept()
| bool llvm::SDNodeFlags::hasNoFPExcept ( ) const |
inline |
◆ hasNoInfs()
| bool llvm::SDNodeFlags::hasNoInfs ( ) const |
inline |
◆ hasNoNaNs()
| bool llvm::SDNodeFlags::hasNoNaNs ( ) const |
inline |
◆ hasNonNeg()
| bool llvm::SDNodeFlags::hasNonNeg ( ) const |
inline |
◆ hasNoSignedWrap()
| bool llvm::SDNodeFlags::hasNoSignedWrap ( ) const |
inline |
◆ hasNoSignedZeros()
| bool llvm::SDNodeFlags::hasNoSignedZeros ( ) const |
inline |
◆ hasNoUnsignedWrap()
| bool llvm::SDNodeFlags::hasNoUnsignedWrap ( ) const |
inline |
◆ hasSameSign()
| bool llvm::SDNodeFlags::hasSameSign ( ) const |
inline |
◆ hasUnpredictable()
| bool llvm::SDNodeFlags::hasUnpredictable ( ) const |
inline |
◆ operator&=()
◆ operator==()
◆ operator|=()
◆ setAllowContract()
| void llvm::SDNodeFlags::setAllowContract ( bool b) |
inline |
◆ setAllowReassociation()
| void llvm::SDNodeFlags::setAllowReassociation ( bool b) |
inline |
◆ setAllowReciprocal()
| void llvm::SDNodeFlags::setAllowReciprocal ( bool b) |
inline |
◆ setApproximateFuncs()
| void llvm::SDNodeFlags::setApproximateFuncs ( bool b) |
inline |
◆ setDisjoint()
| void llvm::SDNodeFlags::setDisjoint ( bool b) |
inline |
◆ setExact()
| void llvm::SDNodeFlags::setExact ( bool b) |
inline |
◆ setInBounds()
| void llvm::SDNodeFlags::setInBounds ( bool b) |
inline |
◆ setNoFPExcept()
| void llvm::SDNodeFlags::setNoFPExcept ( bool b) |
inline |
◆ setNoInfs()
| void llvm::SDNodeFlags::setNoInfs ( bool b) |
inline |
◆ setNoNaNs()
| void llvm::SDNodeFlags::setNoNaNs ( bool b) |
inline |
◆ setNonNeg()
| void llvm::SDNodeFlags::setNonNeg ( bool b) |
inline |
◆ setNoSignedWrap()
| void llvm::SDNodeFlags::setNoSignedWrap ( bool b) |
inline |
◆ setNoSignedZeros()
| void llvm::SDNodeFlags::setNoSignedZeros ( bool b) |
inline |
◆ setNoUnsignedWrap()
| void llvm::SDNodeFlags::setNoUnsignedWrap ( bool b) |
inline |
◆ setSameSign()
| void llvm::SDNodeFlags::setSameSign ( bool b) |
inline |
◆ setUnpredictable()
| void llvm::SDNodeFlags::setUnpredictable ( bool b) |
inline |
◆ SDNode
The documentation for this struct was generated from the following file: