LLVM
8.0.1
|
These are IR-level optimization flags that may be propagated to SDNodes. More...
#include "llvm/CodeGen/SelectionDAGNodes.h"
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 353 of file SelectionDAGNodes.h.
|
inline |
Default constructor turns off all optimization flags.
Definition at line 374 of file SelectionDAGNodes.h.
|
inline |
Propagate the fast-math-flags from an IR FPMathOperator.
Definition at line 382 of file SelectionDAGNodes.h.
References llvm::FPMathOperator::hasAllowContract(), llvm::FPMathOperator::hasAllowReassoc(), llvm::FPMathOperator::hasAllowReciprocal(), llvm::FPMathOperator::hasApproxFunc(), llvm::FPMathOperator::hasNoInfs(), llvm::FPMathOperator::hasNoNaNs(), and llvm::FPMathOperator::hasNoSignedZeros().
|
inline |
Definition at line 452 of file SelectionDAGNodes.h.
References llvm::bitc::AllowContract.
Referenced by llvm::InstrEmitter::EmitDbgLabel(), getMad64_32(), isClampZeroToOne(), and isContractable().
|
inline |
Definition at line 454 of file SelectionDAGNodes.h.
Referenced by llvm::InstrEmitter::EmitDbgLabel(), and isContractable().
|
inline |
Definition at line 450 of file SelectionDAGNodes.h.
References llvm::bitc::AllowReciprocal.
Referenced by llvm::InstrEmitter::EmitDbgLabel(), getLoadExtOrTrunc(), and isContractable().
|
inline |
Definition at line 453 of file SelectionDAGNodes.h.
Referenced by CanCombineFCOPYSIGN_EXTEND_ROUND(), llvm::InstrEmitter::EmitDbgLabel(), and isContractable().
|
inline |
Definition at line 446 of file SelectionDAGNodes.h.
Referenced by llvm::TargetLowering::BuildSDIV(), calculateByteProvider(), llvm::InstrEmitter::EmitDbgLabel(), llvm::TargetLowering::SimplifyDemandedBits(), and simplifyDivRem().
|
inline |
Definition at line 448 of file SelectionDAGNodes.h.
References llvm::bitc::NoInfs.
Referenced by CanCombineFCOPYSIGN_EXTEND_ROUND(), and llvm::InstrEmitter::EmitDbgLabel().
|
inline |
Definition at line 447 of file SelectionDAGNodes.h.
References llvm::bitc::NoNaNs.
Referenced by CanCombineFCOPYSIGN_EXTEND_ROUND(), combineFMinNumFMaxNum(), llvm::createR600ISelDag(), llvm::InstrEmitter::EmitDbgLabel(), getReductionSDNode(), isContractable(), and llvm::SelectionDAG::isKnownNeverNaN().
|
inline |
Definition at line 445 of file SelectionDAGNodes.h.
Referenced by llvm::InstrEmitter::EmitDbgLabel(), EmitTest(), promoteExtBeforeAdd(), llvm::TargetLowering::SimplifyDemandedBits(), and tryFoldToZero().
|
inline |
Definition at line 449 of file SelectionDAGNodes.h.
References llvm::bitc::NoSignedZeros.
Referenced by CanCombineFCOPYSIGN_EXTEND_ROUND(), combineFneg(), llvm::InstrEmitter::EmitDbgLabel(), GetNegatedExpression(), llvm::SelectionDAG::getNode(), isContractable(), isNegatibleForFree(), and llvm::AMDGPUTargetLowering::mayIgnoreSignedZero().
|
inline |
Definition at line 444 of file SelectionDAGNodes.h.
Referenced by llvm::InstrEmitter::EmitDbgLabel(), getFPTernOp(), isStackPtrRelative(), promoteExtBeforeAdd(), llvm::TargetLowering::SimplifyDemandedBits(), and tryFoldToZero().
|
inline |
Definition at line 451 of file SelectionDAGNodes.h.
Referenced by combineAdd(), and isAnyConstantBuildVector().
|
inline |
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.
Definition at line 463 of file SelectionDAGNodes.h.
References llvm::bitc::AllowContract, llvm::bitc::AllowReciprocal, isDefined(), llvm::bitc::NoInfs, llvm::bitc::NoNaNs, and llvm::bitc::NoSignedZeros.
Referenced by llvm::SDNode::intersectFlagsWith().
|
inline |
Returns true if the flags are in a defined state.
Definition at line 395 of file SelectionDAGNodes.h.
Referenced by llvm::createR600ISelDag(), and intersectWith().
|
inline |
Definition at line 456 of file SelectionDAGNodes.h.
References llvm::bitc::AllowContract, llvm::bitc::AllowReciprocal, llvm::bitc::NoInfs, llvm::bitc::NoNaNs, and llvm::bitc::NoSignedZeros.
Referenced by llvm::SDNode::isFast().
|
inline |
Definition at line 430 of file SelectionDAGNodes.h.
References llvm::bitc::AllowContract.
|
inline |
Definition at line 438 of file SelectionDAGNodes.h.
Referenced by getEstimate().
|
inline |
Definition at line 422 of file SelectionDAGNodes.h.
References llvm::bitc::AllowReciprocal.
|
inline |
Definition at line 434 of file SelectionDAGNodes.h.
|
inline |
Sets the state of the flags to the defined state.
Definition at line 393 of file SelectionDAGNodes.h.
|
inline |
Definition at line 406 of file SelectionDAGNodes.h.
Referenced by BuildExactSDIV(), isVectorReductionOp(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Definition at line 414 of file SelectionDAGNodes.h.
References llvm::bitc::NoInfs.
Referenced by PrepareCall().
|
inline |
Definition at line 410 of file SelectionDAGNodes.h.
References llvm::bitc::NoNaNs.
Referenced by PrepareCall().
|
inline |
Definition at line 402 of file SelectionDAGNodes.h.
Referenced by isVectorReductionOp(), promoteExtBeforeAdd(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Definition at line 418 of file SelectionDAGNodes.h.
References llvm::bitc::NoSignedZeros.
|
inline |
Definition at line 398 of file SelectionDAGNodes.h.
Referenced by getFPTernOp(), llvm::SelectionDAG::getObjectPtrOffset(), hasOnlySelectUsers(), isTruncateOf(), isVectorReductionOp(), promoteExtBeforeAdd(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Definition at line 426 of file SelectionDAGNodes.h.
Referenced by isVectorReductionOp().