LLVM API Documentation
#include <SelectionDAGNodes.h>


Public Member Functions | |
| const APFloat & | getValueAPF () const |
| const ConstantFP * | getConstantFPValue () 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 |
Definition at line 1717 of file SelectionDAGNodes.h.
| llvm::ConstantFPSDNode::ConstantFPSDNode | ( | bool | isTarget, | |
| const ConstantFP * | val, | |||
| MVT | VT | |||
| ) | [inline, protected] |
Definition at line 1722 of file SelectionDAGNodes.h.
| const APFloat& llvm::ConstantFPSDNode::getValueAPF | ( | ) | const [inline] |
Definition at line 1728 of file SelectionDAGNodes.h.
Referenced by ExpandConstantFP(), llvm::SelectionDAG::getNode(), isExactlyValue(), isFPS16Immediate(), and LowerConstantFP().
| const ConstantFP* llvm::ConstantFPSDNode::getConstantFPValue | ( | ) | const [inline] |
| 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().
Definition at line 76 of file SelectionDAG.cpp.
References llvm::lltok::APFloat, llvm::APFloat::convert(), llvm::APFloat::getSemantics(), llvm::MVT::isFloatingPoint(), MVTToAPFloatSemantics(), llvm::APFloat::PPCDoubleDouble, llvm::MVT::ppcf128, and llvm::APFloat::rmNearestTiesToEven.
Referenced by ExpandConstantFP().
| 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.
friend class SelectionDAG [friend] |
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.