LLVM API Documentation

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

#include <SelectionDAGNodes.h>

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

List of all members.

Public Member Functions

const APFloatgetValueAPF () const
const ConstantFPgetConstantFPValue () const
bool isZero () const
 isZero - Return true if the value is positive or negative zero.
bool isNaN () const
 isNaN - Return true if the value is a NaN.
bool isExactlyValue (double V) const
bool isExactlyValue (const APFloat &V) const

Static Public Member Functions

static bool isValueValidForType (EVT VT, const APFloat &Val)
static bool classof (const SDNode *N)

Friends

class SelectionDAG

Detailed Description

Definition at line 1240 of file SelectionDAGNodes.h.


Member Function Documentation

static bool llvm::ConstantFPSDNode::classof ( const SDNode N) [inline, static]
const ConstantFP* llvm::ConstantFPSDNode::getConstantFPValue ( ) const [inline]

Definition at line 1250 of file SelectionDAGNodes.h.

const APFloat& llvm::ConstantFPSDNode::getValueAPF ( ) const [inline]

Definition at line 1249 of file SelectionDAGNodes.h.

Referenced by llvm::SelectionDAG::getNode(), and isConstVecPow2().

bool llvm::ConstantFPSDNode::isExactlyValue ( double  V) const [inline]

isExactlyValue - We don't rely on operator== working on double values, as it returns true for things that are clearly not equal, like -0.0 and 0.0. As such, this method can be used to do an exact bit-for-bit comparison of two floating point values. We leave the version with the double argument here because it's just so convenient to write "2.0" and the like. Without this function we'd have to duplicate its logic everywhere it's called.

Definition at line 1266 of file SelectionDAGNodes.h.

References llvm::APFloat::convert(), and llvm::APFloat::rmNearestTiesToEven.

Referenced by llvm::SelectionDAG::getNode().

bool ConstantFPSDNode::isExactlyValue ( const APFloat V) const

isExactlyValue - We don't rely on operator== working on double values, as it returns true for things that are clearly not equal, like -0.0 and 0.0. As such, this method can be used to do an exact bit-for-bit comparison of two floating point values.

Definition at line 74 of file SelectionDAG.cpp.

bool llvm::ConstantFPSDNode::isNaN ( ) const [inline]

isNaN - Return true if the value is a NaN.

Definition at line 1256 of file SelectionDAGNodes.h.

bool ConstantFPSDNode::isValueValidForType ( EVT  VT,
const APFloat Val 
) [static]
bool llvm::ConstantFPSDNode::isZero ( ) const [inline]

isZero - Return true if the value is positive or negative zero.

Definition at line 1253 of file SelectionDAGNodes.h.

Referenced by llvm::SelectionDAG::getNode().


Friends And Related Function Documentation

friend class SelectionDAG [friend]

Reimplemented from llvm::SDNode.

Definition at line 1242 of file SelectionDAGNodes.h.


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