LLVM API Documentation
#include <DSSupport.h>
Collaboration diagram for llvm::DSNodeHandle:
Public Member Functions | |
DSNodeHandle (DSNode *n=0, unsigned offs=0) | |
DSNodeHandle (const DSNodeHandle &H) | |
~DSNodeHandle () | |
DSNodeHandle & | operator= (const DSNodeHandle &H) |
bool | operator< (const DSNodeHandle &H) const |
bool | operator> (const DSNodeHandle &H) const |
bool | operator== (const DSNodeHandle &H) const |
bool | operator!= (const DSNodeHandle &H) const |
void | swap (DSNodeHandle &NH) |
bool | isNull () const |
DSNode * | getNode () const |
unsigned | getOffset () const |
void | setOffset (unsigned O) |
void | setTo (DSNode *N, unsigned O) const |
void | addEdgeTo (unsigned LinkNo, const DSNodeHandle &N) |
void | addEdgeTo (const DSNodeHandle &N) |
void | mergeWith (const DSNodeHandle &N) const |
bool | hasLink (unsigned Num) const |
const DSNodeHandle & | getLink (unsigned Num) const |
DSNodeHandle & | getLink (unsigned Num) |
void | setLink (unsigned Num, const DSNodeHandle &NH) |
Note: some functions that are marked as inline in DSNodeHandle are actually defined in DSNode.h because they need knowledge of DSNode operation. Putting them in a CPP file wouldn't help making them inlined and keeping DSNode and DSNodeHandle (and friends) in one file complicates things.
Definition at line 56 of file DSSupport.h.
llvm::DSNodeHandle::DSNodeHandle | ( | DSNode * | n = 0 , |
|
unsigned | offs = 0 | |||
) | [inline] |
llvm::DSNodeHandle::DSNodeHandle | ( | const DSNodeHandle & | H | ) | [inline] |
llvm::DSNodeHandle::~DSNodeHandle | ( | ) | [inline] |
DSNodeHandle& llvm::DSNodeHandle::operator= | ( | const DSNodeHandle & | H | ) | [inline] |
bool llvm::DSNodeHandle::operator< | ( | const DSNodeHandle & | H | ) | const [inline] |
bool llvm::DSNodeHandle::operator> | ( | const DSNodeHandle & | H | ) | const [inline] |
bool llvm::DSNodeHandle::operator== | ( | const DSNodeHandle & | H | ) | const [inline] |
bool llvm::DSNodeHandle::operator!= | ( | const DSNodeHandle & | H | ) | const [inline] |
void llvm::DSNodeHandle::swap | ( | DSNodeHandle & | NH | ) | [inline] |
bool llvm::DSNodeHandle::isNull | ( | ) | const [inline] |
isNull - Check to see if getNode() == 0, without going through the trouble of checking to see if we are forwarding...
Definition at line 95 of file DSSupport.h.
Referenced by llvm::DSNode::addEdgeTo(), AddGlobalToNode(), llvm::DSGraph::computeNodeMapping(), EliminateUsesOfECGlobals(), llvm::DSNode::forwardNode(), llvm::ReachabilityCloner::getClonedNH(), llvm::DSNode::isForwarding(), llvm::ReachabilityCloner::merge(), llvm::DSGraph::mergeInGraph(), mergeWith(), and removeIdenticalCalls().
DSNode * llvm::DSNodeHandle::getNode | ( | ) | const [inline] |
Definition at line 423 of file DSNode.h.
References llvm::DSNode::isForwarding().
Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), addEdgeTo(), AddGlobalToNode(), llvm::DSGraph::AssertCallSiteInGraph(), CallSiteUsesAliveArgs(), llvm::DSGraph::cloneInto(), llvm::DSGraph::computeNodeMapping(), EliminateUsesOfECGlobals(), llvm::DSNode::foldNodeCompletely(), llvm::DSCallSite::getCalleeFunc(), llvm::DSCallSite::getCalleeNode(), llvm::ReachabilityCloner::getClonedNH(), llvm::DSNode::getForwardNode(), getLink(), hasLink(), killIfUselessEdge(), llvm::DSCallSite::markReachableNodes(), llvm::ReachabilityCloner::merge(), llvm::DSGraph::mergeInGraph(), mergeWith(), llvm::DSNode::mergeWith(), operator<(), operator==(), llvm::DSGraph::removeDeadNodes(), removeIdenticalCalls(), llvm::DSGraph::removeTriviallyDeadNodes(), setLink(), and setTo().
unsigned llvm::DSNodeHandle::getOffset | ( | ) | const [inline] |
Definition at line 99 of file DSSupport.h.
Referenced by llvm::DSGraph::computeNodeMapping(), llvm::ReachabilityCloner::getClonedNH(), llvm::ReachabilityCloner::merge(), and llvm::DSNode::mergeWith().
void llvm::DSNodeHandle::setOffset | ( | unsigned | O | ) | [inline] |
Definition at line 104 of file DSSupport.h.
void llvm::DSNodeHandle::setTo | ( | DSNode * | N, | |
unsigned | O | |||
) | const [inline] |
Definition at line 443 of file DSNode.h.
References llvm::DSNode::DEAD, getNode(), llvm::DSNode::isForwarding(), llvm::DSNode::NodeType, llvm::DSNode::NumReferrers, and llvm::DSNode::Size.
Referenced by AddGlobalToNode(), llvm::DSGraph::computeNodeMapping(), llvm::DSNode::dropAllReferences(), DSNodeHandle(), llvm::DSNode::forwardNode(), killIfUselessEdge(), mergeWith(), operator=(), llvm::DSNode::stopForwarding(), and ~DSNodeHandle().
void llvm::DSNodeHandle::addEdgeTo | ( | unsigned | Off, | |
const DSNodeHandle & | Node | |||
) | [inline] |
addEdgeTo - Add an edge from the current node to the specified node. This can cause merging of nodes in the graph.
Definition at line 487 of file DSNode.h.
References llvm::DSNode::addEdgeTo(), getNode(), and Node.
Referenced by addEdgeTo().
void llvm::DSNodeHandle::addEdgeTo | ( | const DSNodeHandle & | N | ) | [inline] |
void llvm::DSNodeHandle::mergeWith | ( | const DSNodeHandle & | N | ) | const [inline] |
mergeWith - Merge the logical node pointed to by 'this' with the node pointed to by 'N'.
Definition at line 495 of file DSNode.h.
References getNode(), isNull(), llvm::DSNode::mergeWith(), Node, and setTo().
Referenced by llvm::DSNode::addEdgeTo(), EliminateUsesOfECGlobals(), llvm::ReachabilityCloner::getClonedNH(), llvm::ReachabilityCloner::merge(), llvm::DSCallSite::mergeWith(), and llvm::DSNode::mergeWith().
bool llvm::DSNodeHandle::hasLink | ( | unsigned | Num | ) | const [inline] |
hasLink - Return true if there is a link at the specified offset...
Definition at line 461 of file DSNode.h.
References getNode(), and llvm::DSNode::hasLink().
const DSNodeHandle & llvm::DSNodeHandle::getLink | ( | unsigned | Num | ) | const [inline] |
getLink - Treat this current node pointer as a pointer to a structure of some sort. This method will return the pointer a mem[this+Num]
Definition at line 470 of file DSNode.h.
References llvm::DSNode::getLink(), and getNode().
DSNodeHandle & llvm::DSNodeHandle::getLink | ( | unsigned | Num | ) | [inline] |
void llvm::DSNodeHandle::setLink | ( | unsigned | Num, | |
const DSNodeHandle & | NH | |||
) | [inline] |