struct SDNodeFlags
Declaration
struct SDNodeFlags { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:357
Method Overview
- public SDNodeFlags()
- public void copyFMF(const llvm::FPMathOperator & FPMO)
- public bool hasAllowContract() const
- public bool hasAllowReassociation() const
- public bool hasAllowReciprocal() const
- public bool hasApproximateFuncs() const
- public bool hasExact() const
- public bool hasNoFPExcept() const
- public bool hasNoInfs() const
- public bool hasNoNaNs() const
- public bool hasNoSignedWrap() const
- public bool hasNoSignedZeros() const
- public bool hasNoUnsignedWrap() const
- public bool hasVectorReduction() const
- public void intersectWith(const llvm::SDNodeFlags Flags)
- public bool isDefined() const
- public bool isFast() const
- public void setAllowContract(bool b)
- public void setAllowReassociation(bool b)
- public void setAllowReciprocal(bool b)
- public void setApproximateFuncs(bool b)
- public void setDefined()
- public void setExact(bool b)
- public void setNoFPExcept(bool b)
- public void setNoInfs(bool b)
- public void setNoNaNs(bool b)
- public void setNoSignedWrap(bool b)
- public void setNoSignedZeros(bool b)
- public void setNoUnsignedWrap(bool b)
- public void setVectorReduction(bool b)
Methods
¶SDNodeFlags()
SDNodeFlags()
Description
Default constructor turns off all optimization flags.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:385
¶void copyFMF(const llvm::FPMathOperator& FPMO)
void copyFMF(const llvm::FPMathOperator& FPMO)
Description
Propagate the fast-math-flags from an IR FPMathOperator.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:393
Parameters
- const llvm::FPMathOperator& FPMO
¶bool hasAllowContract() const
bool hasAllowContract() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:467
¶bool hasAllowReassociation() const
bool hasAllowReassociation() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:469
¶bool hasAllowReciprocal() const
bool hasAllowReciprocal() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:465
¶bool hasApproximateFuncs() const
bool hasApproximateFuncs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:468
¶bool hasExact() const
bool hasExact() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:461
¶bool hasNoFPExcept() const
bool hasNoFPExcept() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:470
¶bool hasNoInfs() const
bool hasNoInfs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:463
¶bool hasNoNaNs() const
bool hasNoNaNs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:462
¶bool hasNoSignedWrap() const
bool hasNoSignedWrap() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:460
¶bool hasNoSignedZeros() const
bool hasNoSignedZeros() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:464
¶bool hasNoUnsignedWrap() const
bool hasNoUnsignedWrap() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:459
¶bool hasVectorReduction() const
bool hasVectorReduction() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:466
¶void intersectWith(const llvm::SDNodeFlags Flags)
void intersectWith(const llvm::SDNodeFlags Flags)
Description
Clear any flags in this flag set that aren't also set in Flags. If the given Flags are undefined then don't do anything.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:479
Parameters
- const llvm::SDNodeFlags Flags
¶bool isDefined() const
bool isDefined() const
Description
Returns true if the flags are in a defined state.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:406
¶bool isFast() const
bool isFast() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:472
¶void setAllowContract(bool b)
void setAllowContract(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:441
Parameters
- bool b
¶void setAllowReassociation(bool b)
void setAllowReassociation(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:449
Parameters
- bool b
¶void setAllowReciprocal(bool b)
void setAllowReciprocal(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:433
Parameters
- bool b
¶void setApproximateFuncs(bool b)
void setApproximateFuncs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:445
Parameters
- bool b
¶void setDefined()
void setDefined()
Description
Sets the state of the flags to the defined state.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:404
¶void setExact(bool b)
void setExact(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:417
Parameters
- bool b
¶void setNoFPExcept(bool b)
void setNoFPExcept(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:453
Parameters
- bool b
¶void setNoInfs(bool b)
void setNoInfs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:425
Parameters
- bool b
¶void setNoNaNs(bool b)
void setNoNaNs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:421
Parameters
- bool b
¶void setNoSignedWrap(bool b)
void setNoSignedWrap(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:413
Parameters
- bool b
¶void setNoSignedZeros(bool b)
void setNoSignedZeros(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:429
Parameters
- bool b
¶void setNoUnsignedWrap(bool b)
void setNoUnsignedWrap(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:409
Parameters
- bool b
¶void setVectorReduction(bool b)
void setVectorReduction(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:437
Parameters
- bool b