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:371
Member Variables
- private bool NoUnsignedWrap
- private bool NoSignedWrap
- private bool Exact
- private bool NoNaNs
- private bool NoInfs
- private bool NoSignedZeros
- private bool AllowReciprocal
- private bool AllowContract
- private bool ApproximateFuncs
- private bool AllowReassociation
- private bool NoFPExcept
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 void intersectWith(const llvm::SDNodeFlags Flags)
- public void setAllowContract(bool b)
- public void setAllowReassociation(bool b)
- public void setAllowReciprocal(bool b)
- public void setApproximateFuncs(bool b)
- 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)
Methods
¶SDNodeFlags()
SDNodeFlags()
Description
Default constructor turns off all optimization flags.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:393
¶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:400
Parameters
- const llvm::FPMathOperator& FPMO
¶bool hasAllowContract() const
bool hasAllowContract() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:431
¶bool hasAllowReassociation() const
bool hasAllowReassociation() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:433
¶bool hasAllowReciprocal() const
bool hasAllowReciprocal() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:430
¶bool hasApproximateFuncs() const
bool hasApproximateFuncs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:432
¶bool hasExact() const
bool hasExact() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:426
¶bool hasNoFPExcept() const
bool hasNoFPExcept() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:434
¶bool hasNoInfs() const
bool hasNoInfs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:428
¶bool hasNoNaNs() const
bool hasNoNaNs() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:427
¶bool hasNoSignedWrap() const
bool hasNoSignedWrap() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:425
¶bool hasNoSignedZeros() const
bool hasNoSignedZeros() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:429
¶bool hasNoUnsignedWrap() const
bool hasNoUnsignedWrap() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:424
¶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. All flags will be cleared if Flags are undefined.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:438
Parameters
- const llvm::SDNodeFlags Flags
¶void setAllowContract(bool b)
void setAllowContract(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:418
Parameters
- bool b
¶void setAllowReassociation(bool b)
void setAllowReassociation(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:420
Parameters
- bool b
¶void setAllowReciprocal(bool b)
void setAllowReciprocal(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:417
Parameters
- bool b
¶void setApproximateFuncs(bool b)
void setApproximateFuncs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:419
Parameters
- bool b
¶void setExact(bool b)
void setExact(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:413
Parameters
- bool b
¶void setNoFPExcept(bool b)
void setNoFPExcept(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:421
Parameters
- bool b
¶void setNoInfs(bool b)
void setNoInfs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:415
Parameters
- bool b
¶void setNoNaNs(bool b)
void setNoNaNs(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:414
Parameters
- bool b
¶void setNoSignedWrap(bool b)
void setNoSignedWrap(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:412
Parameters
- bool b
¶void setNoSignedZeros(bool b)
void setNoSignedZeros(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:416
Parameters
- bool b
¶void setNoUnsignedWrap(bool b)
void setNoUnsignedWrap(bool b)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:411
Parameters
- bool b