LLVM API Documentation

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 isExactlyValue (double V) const
bool isExactlyValue (const APFloat &V) const
bool isValueValidForType (MVT VT, const APFloat &Val)

Static Public Member Functions

static bool classof (const ConstantFPSDNode *)
static bool classof (const SDNode *N)

Protected Member Functions

 ConstantFPSDNode (bool isTarget, const ConstantFP *val, MVT VT)

Friends

class SelectionDAG


Detailed Description

Definition at line 1717 of file SelectionDAGNodes.h.


Constructor & Destructor Documentation

llvm::ConstantFPSDNode::ConstantFPSDNode ( bool  isTarget,
const ConstantFP val,
MVT  VT 
) [inline, protected]

Definition at line 1722 of file SelectionDAGNodes.h.


Member Function Documentation

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

const ConstantFP* llvm::ConstantFPSDNode::getConstantFPValue (  )  const [inline]

Definition at line 1729 of file SelectionDAGNodes.h.

Referenced by ExpandConstantFP().

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 1739 of file SelectionDAGNodes.h.

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

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 72 of file SelectionDAG.cpp.

References llvm::APFloat::bitwiseIsEqual(), and getValueAPF().

bool ConstantFPSDNode::isValueValidForType ( MVT  VT,
const APFloat Val 
)

static bool llvm::ConstantFPSDNode::classof ( const ConstantFPSDNode  )  [inline, static]

Definition at line 1753 of file SelectionDAGNodes.h.

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

Reimplemented from llvm::SDNode.

Definition at line 1754 of file SelectionDAGNodes.h.

References llvm::ISD::ConstantFP, llvm::SDNode::getOpcode(), and llvm::ISD::TargetConstantFP.


Friends And Related Function Documentation

friend class SelectionDAG [friend]

Reimplemented from llvm::SDNode.

Definition at line 1721 of file SelectionDAGNodes.h.


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.