LLVM API Documentation

Public Member Functions | Static Public Member Functions | Friends
llvm::FPMathOperator Class Reference

#include <Operator.h>

Inheritance diagram for llvm::FPMathOperator:
Inheritance graph
[legend]
Collaboration diagram for llvm::FPMathOperator:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

FPMathOperator - Utility class for floating point operations which can have information about relaxed accuracy requirements attached to them.

Definition at line 218 of file Operator.h.


Member Function Documentation

static bool llvm::FPMathOperator::classof ( const Instruction I) [inline, static]

Reimplemented from llvm::Operator.

Definition at line 302 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 305 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 293 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 2028 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 288 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 276 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 270 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 282 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 264 of file Operator.h.

References llvm::Value::SubclassOptionalData.


Friends And Related Function Documentation

friend class Instruction [friend]

Definition at line 220 of file Operator.h.


The documentation for this class was generated from the following files: