LLVM API Documentation

llvm::SchedGraphEdge Class Reference

#include <SchedGraphCommon.h>

Collaboration diagram for llvm::SchedGraphEdge:

Collaboration graph
[legend]
List of all members.

Public Types

 CtrlDep
 MemoryDep
 ValueDep
 MachineRegister
 MachineResource
 TrueDep = 0x1
 AntiDep = 0x2
 OutputDep = 0x4
 NonDataDep = 0x8
enum  SchedGraphEdgeDepType {
  CtrlDep, MemoryDep, ValueDep, MachineRegister,
  MachineResource
}
enum  DataDepOrderType { TrueDep = 0x1, AntiDep = 0x2, OutputDep = 0x4, NonDataDep = 0x8 }

Public Member Functions

 SchedGraphEdge (SchedGraphNodeCommon *_src, SchedGraphNodeCommon *_sink, SchedGraphEdgeDepType _depType, unsigned int _depOrderType, int _minDelay=-1)
 SchedGraphEdge (SchedGraphNodeCommon *_src, SchedGraphNodeCommon *_sink, const Value *_val, unsigned int _depOrderType, int _minDelay=-1)
 SchedGraphEdge (SchedGraphNodeCommon *_src, SchedGraphNodeCommon *_sink, unsigned int _regNum, unsigned int _depOrderType, int _minDelay=-1)
 SchedGraphEdge (SchedGraphNodeCommon *_src, SchedGraphNodeCommon *_sink, ResourceId _resourceId, int _minDelay=-1)
 ~SchedGraphEdge ()
SchedGraphNodeCommon * getSrc () const
SchedGraphNodeCommon * getSink () const
int getMinDelay () const
SchedGraphEdgeDepType getDepType () const
unsigned int getDepOrderType () const
const Value * getValue () const
int getMachineReg () const
int getResourceId () const
void setIteDiff (int _iteDiff)
int getIteDiff ()
void print (std::ostream &os) const
void dump (int indent=0) const

Protected Attributes

SchedGraphNodeCommon * src
SchedGraphNodeCommon * sink
SchedGraphEdgeDepType depType
unsigned int depOrderType
int minDelay
int iteDiff
union {
   const Value *   val
   int   machineRegNum
   ResourceId   resourceId
}; 

Detailed Description

Definition at line 107 of file SchedGraphCommon.h.


Member Enumeration Documentation

enum llvm::SchedGraphEdge::DataDepOrderType

Enumerator:
TrueDep 
AntiDep 
OutputDep 
NonDataDep 

Definition at line 112 of file SchedGraphCommon.h.

enum llvm::SchedGraphEdge::SchedGraphEdgeDepType

Enumerator:
CtrlDep 
MemoryDep 
ValueDep 
MachineRegister 
MachineResource 

Definition at line 109 of file SchedGraphCommon.h.


Constructor & Destructor Documentation

llvm::SchedGraphEdge::SchedGraphEdge ( SchedGraphNodeCommon *  _src,
SchedGraphNodeCommon *  _sink,
SchedGraphEdgeDepType  _depType,
unsigned int  _depOrderType,
int  _minDelay = -1 
)

Definition at line 27 of file SchedGraphCommon.cpp.

References llvm::SchedGraphNodeCommon::addInEdge(), llvm::SchedGraphNodeCommon::addOutEdge(), iteDiff, sink, and src.

llvm::SchedGraphEdge::SchedGraphEdge ( SchedGraphNodeCommon *  _src,
SchedGraphNodeCommon *  _sink,
const Value *  _val,
unsigned int  _depOrderType,
int  _minDelay = -1 
)

Definition at line 41 of file SchedGraphCommon.cpp.

References llvm::SchedGraphNodeCommon::addInEdge(), llvm::SchedGraphNodeCommon::addOutEdge(), iteDiff, sink, and src.

llvm::SchedGraphEdge::SchedGraphEdge ( SchedGraphNodeCommon *  _src,
SchedGraphNodeCommon *  _sink,
unsigned int  _regNum,
unsigned int  _depOrderType,
int  _minDelay = -1 
)

Definition at line 54 of file SchedGraphCommon.cpp.

References llvm::SchedGraphNodeCommon::addInEdge(), llvm::SchedGraphNodeCommon::addOutEdge(), iteDiff, sink, and src.

llvm::SchedGraphEdge::SchedGraphEdge ( SchedGraphNodeCommon *  _src,
SchedGraphNodeCommon *  _sink,
ResourceId  _resourceId,
int  _minDelay = -1 
)

Definition at line 69 of file SchedGraphCommon.cpp.

References llvm::SchedGraphNodeCommon::addInEdge(), llvm::SchedGraphNodeCommon::addOutEdge(), iteDiff, sink, and src.

llvm::SchedGraphEdge::~SchedGraphEdge (  )  [inline]

Definition at line 155 of file SchedGraphCommon.h.


Member Function Documentation

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

Definition at line 83 of file SchedGraphCommon.cpp.

unsigned int llvm::SchedGraphEdge::getDepOrderType (  )  const [inline]

Definition at line 161 of file SchedGraphCommon.h.

References depOrderType.

SchedGraphEdgeDepType llvm::SchedGraphEdge::getDepType (  )  const [inline]

Definition at line 160 of file SchedGraphCommon.h.

References depType.

int llvm::SchedGraphEdge::getIteDiff (  )  [inline]

Definition at line 179 of file SchedGraphCommon.h.

References iteDiff.

int llvm::SchedGraphEdge::getMachineReg (  )  const [inline]

Definition at line 167 of file SchedGraphCommon.h.

References depType, MachineRegister, and machineRegNum.

int llvm::SchedGraphEdge::getMinDelay (  )  const [inline]

Definition at line 159 of file SchedGraphCommon.h.

References minDelay.

int llvm::SchedGraphEdge::getResourceId (  )  const [inline]

Definition at line 171 of file SchedGraphCommon.h.

References depType, MachineResource, and resourceId.

SchedGraphNodeCommon* llvm::SchedGraphEdge::getSink (  )  const [inline]

Definition at line 158 of file SchedGraphCommon.h.

References sink.

Referenced by llvm::SchedGraphNodeCommon::removeInEdge().

SchedGraphNodeCommon* llvm::SchedGraphEdge::getSrc (  )  const [inline]

Definition at line 157 of file SchedGraphCommon.h.

References src.

Referenced by llvm::SchedGraphNodeCommon::removeOutEdge().

const Value* llvm::SchedGraphEdge::getValue (  )  const [inline]

Definition at line 163 of file SchedGraphCommon.h.

References depType, val, and ValueDep.

void llvm::SchedGraphEdge::print ( std::ostream &  os  )  const

Definition at line 689 of file SchedGraph.cpp.

References CtrlDep, depType, llvm::SchedGraphNodeCommon::getNodeId(), MachineRegister, machineRegNum, MachineResource, MemoryDep, minDelay, resourceId, sink, src, val, and ValueDep.

Referenced by llvm::operator<<().

void llvm::SchedGraphEdge::setIteDiff ( int  _iteDiff  )  [inline]

Definition at line 175 of file SchedGraphCommon.h.

References iteDiff.


Member Data Documentation

union { ... } [protected]

unsigned int llvm::SchedGraphEdge::depOrderType [protected]

Definition at line 120 of file SchedGraphCommon.h.

Referenced by getDepOrderType().

SchedGraphEdgeDepType llvm::SchedGraphEdge::depType [protected]

Definition at line 119 of file SchedGraphCommon.h.

Referenced by getDepType(), getMachineReg(), getResourceId(), getValue(), and print().

int llvm::SchedGraphEdge::iteDiff [protected]

Definition at line 122 of file SchedGraphCommon.h.

Referenced by getIteDiff(), SchedGraphEdge(), and setIteDiff().

int llvm::SchedGraphEdge::machineRegNum [protected]

Definition at line 126 of file SchedGraphCommon.h.

Referenced by getMachineReg(), and print().

int llvm::SchedGraphEdge::minDelay [protected]

Definition at line 121 of file SchedGraphCommon.h.

Referenced by getMinDelay(), and print().

ResourceId llvm::SchedGraphEdge::resourceId [protected]

Definition at line 127 of file SchedGraphCommon.h.

Referenced by getResourceId(), and print().

SchedGraphNodeCommon* llvm::SchedGraphEdge::sink [protected]

Definition at line 118 of file SchedGraphCommon.h.

Referenced by getSink(), print(), and SchedGraphEdge().

SchedGraphNodeCommon* llvm::SchedGraphEdge::src [protected]

Definition at line 117 of file SchedGraphCommon.h.

Referenced by getSrc(), print(), and SchedGraphEdge().

const Value* llvm::SchedGraphEdge::val [protected]

Definition at line 125 of file SchedGraphCommon.h.

Referenced by getValue(), and print().


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