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 222 of file Operator.h.


Member Function Documentation

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().

Convenience function for getting all the fast-math flags.

Definition at line 304 of file Operator.h.

References llvm::Value::SubclassOptionalData.

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.

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.

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.

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.

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.

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.


Friends And Related Function Documentation

friend class Instruction [friend]

Definition at line 224 of file Operator.h.


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