LLVM API Documentation
#include <SelectionDAGNodes.h>
Public Member Functions | |
const APFloat & | getValueAPF () const |
const ConstantFP * | getConstantFPValue () const |
bool | isZero () const |
isZero - Return true if the value is positive or negative zero. More... | |
bool | isNaN () const |
isNaN - Return true if the value is a NaN. More... | |
bool | isExactlyValue (double V) const |
bool | isExactlyValue (const APFloat &V) const |
![]() | |
unsigned | getOpcode () const |
bool | isTargetOpcode () const |
bool | isTargetMemoryOpcode () const |
bool | isMachineOpcode () const |
unsigned | getMachineOpcode () const |
bool | getHasDebugValue () const |
getHasDebugValue - get this bit. More... | |
void | setHasDebugValue (bool b) |
setHasDebugValue - set this bit. More... | |
bool | use_empty () const |
bool | hasOneUse () const |
size_t | use_size () const |
int | getNodeId () const |
void | setNodeId (int Id) |
setNodeId - Set unique node id. More... | |
unsigned | getIROrder () const |
void | setIROrder (unsigned Order) |
const DebugLoc | getDebugLoc () const |
getDebugLoc - Return the source location info. More... | |
void | setDebugLoc (const DebugLoc dl) |
use_iterator | use_begin () const |
bool | hasNUsesOfValue (unsigned NUses, unsigned Value) const |
bool | hasAnyUseOfValue (unsigned Value) const |
bool | isOnlyUserOf (SDNode *N) const |
bool | isOperandOf (SDNode *N) const |
bool | isPredecessorOf (const SDNode *N) const |
bool | hasPredecessor (const SDNode *N) const |
bool | hasPredecessorHelper (const SDNode *N, SmallPtrSet< const SDNode *, 32 > &Visited, SmallVectorImpl< const SDNode * > &Worklist) const |
unsigned | getNumOperands () const |
uint64_t | getConstantOperandVal (unsigned Num) const |
const SDValue & | getOperand (unsigned Num) const |
op_iterator | op_begin () const |
op_iterator | op_end () const |
SDVTList | getVTList () const |
SDNode * | getGluedNode () const |
const SDNode * | getGluedMachineNode () const |
SDNode * | getGluedUser () const |
unsigned | getNumValues () const |
EVT | getValueType (unsigned ResNo) const |
MVT | getSimpleValueType (unsigned ResNo) const |
unsigned | getValueSizeInBits (unsigned ResNo) const |
value_iterator | value_begin () const |
value_iterator | value_end () const |
std::string | getOperationName (const SelectionDAG *G=0) const |
void | print_types (raw_ostream &OS, const SelectionDAG *G) const |
void | print_details (raw_ostream &OS, const SelectionDAG *G) const |
void | print (raw_ostream &OS, const SelectionDAG *G=0) const |
void | printr (raw_ostream &OS, const SelectionDAG *G=0) const |
void | printrFull (raw_ostream &O, const SelectionDAG *G=0) const |
void | printrWithDepth (raw_ostream &O, const SelectionDAG *G=0, unsigned depth=100) const |
void | dump () const |
dump - Dump this node, for debugging. More... | |
void | dumpr () const |
dumpr - Dump (recursively) this node and its use-def subgraph. More... | |
void | dump (const SelectionDAG *G) const |
void | dumpr (const SelectionDAG *G) const |
void | dumprFull (const SelectionDAG *G=0) const |
void | dumprWithDepth (const SelectionDAG *G=0, unsigned depth=100) const |
void | Profile (FoldingSetNodeID &ID) const |
void | addUse (SDUse &U) |
![]() | |
Node () | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
![]() | |
SDNode * | getPrevNode () |
Get the previous node, or 0 for the list head. More... | |
const SDNode * | getPrevNode () const |
Get the previous node, or 0 for the list head. More... | |
SDNode * | getNextNode () |
Get the next node, or 0 for the list tail. More... | |
const SDNode * | getNextNode () const |
Get the next node, or 0 for the list tail. More... | |
Static Public Member Functions | |
static bool | isValueValidForType (EVT VT, const APFloat &Val) |
static bool | classof (const SDNode *N) |
![]() | |
static use_iterator | use_end () |
static const char * | getIndexedModeName (ISD::MemIndexedMode AM) |
Friends | |
class | SelectionDAG |
Additional Inherited Members | |
![]() | |
typedef SDUse * | op_iterator |
typedef const EVT * | value_iterator |
![]() | |
SDNode (unsigned Opc, unsigned Order, const DebugLoc dl, SDVTList VTs, const SDValue *Ops, unsigned NumOps) | |
SDNode (unsigned Opc, unsigned Order, const DebugLoc dl, SDVTList VTs) | |
void | InitOperands (SDUse *Ops, const SDValue &Op0) |
InitOperands - Initialize the operands list of this with 1 operand. More... | |
void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1) |
InitOperands - Initialize the operands list of this with 2 operands. More... | |
void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2) |
InitOperands - Initialize the operands list of this with 3 operands. More... | |
void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2, const SDValue &Op3) |
InitOperands - Initialize the operands list of this with 4 operands. More... | |
void | InitOperands (SDUse *Ops, const SDValue *Vals, unsigned N) |
InitOperands - Initialize the operands list of this with N operands. More... | |
void | DropOperands () |
![]() | |
ilist_node () | |
![]() | |
static SDVTList | getSDVTList (EVT VT) |
![]() | |
uint16_t | SubclassData: 14 |
Definition at line 1270 of file SelectionDAGNodes.h.
Definition at line 1307 of file SelectionDAGNodes.h.
References llvm::ISD::ConstantFP, llvm::SDNode::getOpcode(), and llvm::ISD::TargetConstantFP.
|
inline |
Definition at line 1280 of file SelectionDAGNodes.h.
|
inline |
Definition at line 1279 of file SelectionDAGNodes.h.
Referenced by FoldOperand(), llvm::SelectionDAG::getNode(), and isConstVecPow2().
|
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 1296 of file SelectionDAGNodes.h.
References llvm::APFloat::convert(), and llvm::APFloat::rmNearestTiesToEven.
Referenced by llvm::SelectionDAG::getNode().
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.
|
inline |
isNaN - Return true if the value is a NaN.
Definition at line 1286 of file SelectionDAGNodes.h.
Definition at line 78 of file SelectionDAG.cpp.
References llvm::lltok::APFloat, llvm::SelectionDAG::EVTToAPFloatSemantics(), llvm::EVT::isFloatingPoint(), and llvm::APFloat::rmNearestTiesToEven.
|
inline |
isZero - Return true if the value is positive or negative zero.
Definition at line 1283 of file SelectionDAGNodes.h.
Referenced by llvm::SelectionDAG::getNode().
|
friend |
Definition at line 1272 of file SelectionDAGNodes.h.