LLVM API Documentation

llvm::SchedGraphNodeCommon Class Reference

#include <SchedGraphCommon.h>

Inheritance diagram for llvm::SchedGraphNodeCommon:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< SchedGraphEdge
* >::iterator 
iterator
typedef std::vector< SchedGraphEdge
* >::const_iterator 
const_iterator
typedef std::vector< SchedGraphEdge
* >::reverse_iterator 
reverse_iterator
typedef std::vector< SchedGraphEdge
* >::const_reverse_iterator 
const_reverse_iterator

Public Member Functions

unsigned getNodeId () const
int getLatency () const
unsigned getNumInEdges () const
unsigned getNumOutEdges () const
int getOrigIndexInBB () const
iterator beginInEdges ()
iterator endInEdges ()
iterator beginOutEdges ()
iterator endOutEdges ()
const_iterator beginInEdges () const
const_iterator endInEdges () const
const_iterator beginOutEdges () const
const_iterator endOutEdges () const
void dump (int indent=0) const
virtual void print (std::ostream &os) const =0

Protected Member Functions

 SchedGraphNodeCommon ()
 SchedGraphNodeCommon (unsigned Id, int index, int late=0)
virtual ~SchedGraphNodeCommon ()
void addInEdge (SchedGraphEdge *edge)
void addOutEdge (SchedGraphEdge *edge)
void removeInEdge (const SchedGraphEdge *edge)
void removeOutEdge (const SchedGraphEdge *edge)

Protected Attributes

unsigned ID
std::vector< SchedGraphEdge * > inEdges
std::vector< SchedGraphEdge * > outEdges
int latency
int origIndexInBB

Friends

class SchedGraphCommon
class SchedGraphEdge

Detailed Description

Definition at line 37 of file SchedGraphCommon.h.


Member Typedef Documentation

typedef std::vector<SchedGraphEdge*>::const_iterator llvm::SchedGraphNodeCommon::const_iterator

Definition at line 47 of file SchedGraphCommon.h.

typedef std::vector<SchedGraphEdge*>::const_reverse_iterator llvm::SchedGraphNodeCommon::const_reverse_iterator

Definition at line 49 of file SchedGraphCommon.h.

typedef std::vector<SchedGraphEdge*>::iterator llvm::SchedGraphNodeCommon::iterator

Definition at line 46 of file SchedGraphCommon.h.

typedef std::vector<SchedGraphEdge*>::reverse_iterator llvm::SchedGraphNodeCommon::reverse_iterator

Definition at line 48 of file SchedGraphCommon.h.


Constructor & Destructor Documentation

llvm::SchedGraphNodeCommon::SchedGraphNodeCommon (  )  [protected]

llvm::SchedGraphNodeCommon::SchedGraphNodeCommon ( unsigned  Id,
int  index,
int  late = 0 
) [inline, protected]

Definition at line 82 of file SchedGraphCommon.h.

llvm::SchedGraphNodeCommon::~SchedGraphNodeCommon (  )  [protected, virtual]

Definition at line 88 of file SchedGraphCommon.cpp.

References beginOutEdges(), and endOutEdges().


Member Function Documentation

void llvm::SchedGraphNodeCommon::addInEdge ( SchedGraphEdge edge  )  [inline, protected]

Definition at line 87 of file SchedGraphCommon.h.

References inEdges.

Referenced by llvm::SchedGraphEdge::SchedGraphEdge().

void llvm::SchedGraphNodeCommon::addOutEdge ( SchedGraphEdge edge  )  [inline, protected]

Definition at line 88 of file SchedGraphCommon.h.

References outEdges.

Referenced by llvm::SchedGraphEdge::SchedGraphEdge().

const_iterator llvm::SchedGraphNodeCommon::beginInEdges (  )  const [inline]

Definition at line 64 of file SchedGraphCommon.h.

References inEdges.

iterator llvm::SchedGraphNodeCommon::beginInEdges (  )  [inline]

Definition at line 59 of file SchedGraphCommon.h.

References inEdges.

Referenced by llvm::SchedGraphCommon::eraseIncomingEdges(), llvm::SchedGraphCommon::eraseOutgoingEdges(), llvm::NodeCanFillDelaySlot(), llvm::pred_begin(), and removeInEdge().

const_iterator llvm::SchedGraphNodeCommon::beginOutEdges (  )  const [inline]

Definition at line 66 of file SchedGraphCommon.h.

References outEdges.

iterator llvm::SchedGraphNodeCommon::beginOutEdges (  )  [inline]

Definition at line 61 of file SchedGraphCommon.h.

References outEdges.

Referenced by llvm::SchedGraph::dump(), llvm::SchedGraphCommon::eraseIncomingEdges(), llvm::SchedGraphCommon::eraseOutgoingEdges(), llvm::SchedPriorities::issuedReadyNodeAt(), llvm::NodeCanFillDelaySlot(), removeOutEdge(), llvm::succ_begin(), and ~SchedGraphNodeCommon().

void llvm::SchedGraphNodeCommon::dump ( int  indent = 0  )  const

Definition at line 115 of file SchedGraphCommon.cpp.

const_iterator llvm::SchedGraphNodeCommon::endInEdges (  )  const [inline]

Definition at line 65 of file SchedGraphCommon.h.

References inEdges.

iterator llvm::SchedGraphNodeCommon::endInEdges (  )  [inline]

Definition at line 60 of file SchedGraphCommon.h.

References inEdges.

Referenced by llvm::SchedGraphCommon::eraseIncomingEdges(), llvm::NodeCanFillDelaySlot(), llvm::pred_end(), and removeInEdge().

const_iterator llvm::SchedGraphNodeCommon::endOutEdges (  )  const [inline]

Definition at line 67 of file SchedGraphCommon.h.

References outEdges.

iterator llvm::SchedGraphNodeCommon::endOutEdges (  )  [inline]

Definition at line 62 of file SchedGraphCommon.h.

References outEdges.

Referenced by llvm::SchedGraph::dump(), llvm::SchedGraphCommon::eraseOutgoingEdges(), llvm::SchedPriorities::issuedReadyNodeAt(), llvm::NodeCanFillDelaySlot(), removeOutEdge(), llvm::succ_end(), and ~SchedGraphNodeCommon().

int llvm::SchedGraphNodeCommon::getLatency (  )  const [inline]

Definition at line 53 of file SchedGraphCommon.h.

References latency.

unsigned llvm::SchedGraphNodeCommon::getNodeId (  )  const [inline]

Definition at line 52 of file SchedGraphCommon.h.

References ID.

Referenced by llvm::SchedPriorities::insertReady(), llvm::SchedulingManager::isScheduled(), llvm::operator<<(), llvm::SchedGraphEdge::print(), and llvm::InstrSchedule::scheduleInstr().

unsigned llvm::SchedGraphNodeCommon::getNumInEdges (  )  const [inline]

Definition at line 54 of file SchedGraphCommon.h.

References inEdges.

unsigned llvm::SchedGraphNodeCommon::getNumOutEdges (  )  const [inline]

Definition at line 55 of file SchedGraphCommon.h.

References outEdges.

int llvm::SchedGraphNodeCommon::getOrigIndexInBB (  )  const [inline]

Definition at line 56 of file SchedGraphCommon.h.

References origIndexInBB.

Referenced by llvm::ReplaceNopsWithUsefulInstr().

virtual void llvm::SchedGraphNodeCommon::print ( std::ostream &  os  )  const [pure virtual]

Implemented in llvm::SchedGraphNode.

Referenced by llvm::operator<<().

void llvm::SchedGraphNodeCommon::removeInEdge ( const SchedGraphEdge edge  )  [protected]

Definition at line 95 of file SchedGraphCommon.cpp.

References beginInEdges(), endInEdges(), llvm::SchedGraphEdge::getSink(), I, and inEdges.

void llvm::SchedGraphNodeCommon::removeOutEdge ( const SchedGraphEdge edge  )  [protected]

Definition at line 105 of file SchedGraphCommon.cpp.

References beginOutEdges(), endOutEdges(), llvm::SchedGraphEdge::getSrc(), I, and outEdges.


Friends And Related Function Documentation

friend class SchedGraphCommon [friend]

Definition at line 75 of file SchedGraphCommon.h.

friend class SchedGraphEdge [friend]

Reimplemented in llvm::SchedGraphNode.

Definition at line 76 of file SchedGraphCommon.h.


Member Data Documentation

unsigned llvm::SchedGraphNodeCommon::ID [protected]

Definition at line 39 of file SchedGraphCommon.h.

Referenced by getNodeId(), and llvm::SchedGraphNode::print().

std::vector<SchedGraphEdge*> llvm::SchedGraphNodeCommon::inEdges [protected]

Definition at line 40 of file SchedGraphCommon.h.

Referenced by addInEdge(), beginInEdges(), endInEdges(), llvm::SchedGraphCommon::eraseIncomingEdges(), getNumInEdges(), llvm::SchedGraphNode::print(), and removeInEdge().

int llvm::SchedGraphNodeCommon::latency [protected]

Definition at line 42 of file SchedGraphCommon.h.

Referenced by getLatency(), and llvm::SchedGraphNode::print().

int llvm::SchedGraphNodeCommon::origIndexInBB [protected]

Definition at line 43 of file SchedGraphCommon.h.

Referenced by getOrigIndexInBB().

std::vector<SchedGraphEdge*> llvm::SchedGraphNodeCommon::outEdges [protected]

Definition at line 41 of file SchedGraphCommon.h.

Referenced by addOutEdge(), beginOutEdges(), endOutEdges(), llvm::SchedGraphCommon::eraseOutgoingEdges(), getNumOutEdges(), llvm::SchedGraphNode::print(), and removeOutEdge().


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