LLVM API Documentation
#include <Operator.h>
Public Member Functions | |
bool | hasUnsafeAlgebra () const |
bool | hasNoNaNs () const |
bool | hasNoInfs () const |
bool | hasNoSignedZeros () const |
bool | hasAllowReciprocal () const |
FastMathFlags | getFastMathFlags () const |
Convenience function for getting all the fast-math flags. | |
float | getFPAccuracy () const |
Get the maximum error permitted by this operation in ULPs. An accuracy of 0.0 means that the operation should be performed with the default precision. | |
Static Public Member Functions | |
static bool | classof (const Instruction *I) |
static bool | classof (const Value *V) |
Friends | |
class | Instruction |
FPMathOperator - Utility class for floating point operations which can have information about relaxed accuracy requirements attached to them.
Definition at line 222 of file Operator.h.
static bool llvm::FPMathOperator::classof | ( | const Instruction * | I | ) | [inline, static] |
Reimplemented from llvm::Operator.
Definition at line 313 of file Operator.h.
References llvm::Value::getType(), and llvm::Type::isFPOrFPVectorTy().
static bool llvm::FPMathOperator::classof | ( | const Value * | V | ) | [inline, static] |
Reimplemented from llvm::Operator.
Definition at line 316 of file Operator.h.
References llvm::PossiblyExactOperator::classof().
FastMathFlags llvm::FPMathOperator::getFastMathFlags | ( | ) | const [inline] |
Convenience function for getting all the fast-math flags.
Definition at line 304 of file Operator.h.
References llvm::Value::SubclassOptionalData.
float FPMathOperator::getFPAccuracy | ( | ) | const |
Get the maximum error permitted by this operation in ULPs. An accuracy of 0.0 means that the operation should be performed with the default precision.
getFPAccuracy - Get the maximum error permitted by this operation in ULPs. An accuracy of 0.0 means that the operation should be performed with the default precision.
Definition at line 2074 of file Instructions.cpp.
References llvm::APFloat::convertToFloat(), llvm::MDNode::getOperand(), llvm::ConstantFP::getValueAPF(), and llvm::LLVMContext::MD_fpmath.
bool llvm::FPMathOperator::hasAllowReciprocal | ( | ) | const [inline] |
Test whether this operation is permitted to use reciprocal instead of division, aka the 'R' fast-math property.
Definition at line 299 of file Operator.h.
References llvm::FastMathFlags::AllowReciprocal, and llvm::Value::SubclassOptionalData.
bool llvm::FPMathOperator::hasNoInfs | ( | ) | const [inline] |
Test whether this operation's arguments and results are to be treated as NoN-Inf, aka the 'I' fast-math property.
Definition at line 287 of file Operator.h.
References llvm::FastMathFlags::NoInfs, and llvm::Value::SubclassOptionalData.
bool llvm::FPMathOperator::hasNoNaNs | ( | ) | const [inline] |
Test whether this operation's arguments and results are to be treated as non-NaN, aka the 'N' fast-math property.
Definition at line 281 of file Operator.h.
References llvm::FastMathFlags::NoNaNs, and llvm::Value::SubclassOptionalData.
bool llvm::FPMathOperator::hasNoSignedZeros | ( | ) | const [inline] |
Test whether this operation can treat the sign of zero as insignificant, aka the 'S' fast-math property.
Definition at line 293 of file Operator.h.
References llvm::FastMathFlags::NoSignedZeros, and llvm::Value::SubclassOptionalData.
bool llvm::FPMathOperator::hasUnsafeAlgebra | ( | ) | const [inline] |
Test whether this operation is permitted to be algebraically transformed, aka the 'A' fast-math property.
Definition at line 275 of file Operator.h.
References llvm::Value::SubclassOptionalData.
friend class Instruction [friend] |
Definition at line 224 of file Operator.h.