LLVM API Documentation

llvm::MSScheduleSB Class Reference

#include <MSScheduleSB.h>

Collaboration diagram for llvm::MSScheduleSB:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< int, std::vector<
MSchedGraphSBNode
* > >::iterator 
schedule_iterator
typedef std::map< int, std::vector<
MSchedGraphSBNode
* > >::const_iterator 
schedule_const_iterator
typedef std::vector< std::pair<
MachineInstr *, int
> >::iterator 
kernel_iterator
typedef std::vector< std::pair<
MachineInstr *, int
> >::const_iterator 
kernel_const_iterator

Public Member Functions

 MSScheduleSB (int num)
 MSScheduleSB ()
bool insert (MSchedGraphSBNode *node, int cycle, int II)
int getStartCycle (MSchedGraphSBNode *node)
void clear ()
std::vector< std::pair< MachineInstr *,
int > > * 
getKernel ()
bool constructKernel (int II, std::vector< MSchedGraphSBNode * > &branches, std::map< const MachineInstr *, unsigned > &indVar)
int getMaxStage ()
bool defPreviousStage (Value *def, int stage)
schedule_iterator begin ()
schedule_iterator end ()
void print (std::ostream &os) const
void printSchedule (std::ostream &os) const
kernel_iterator kernel_begin ()
kernel_iterator kernel_end ()

Detailed Description

Definition at line 23 of file MSScheduleSB.h.


Member Typedef Documentation

typedef std::vector<std::pair<MachineInstr*, int> >::const_iterator llvm::MSScheduleSB::kernel_const_iterator

Definition at line 64 of file MSScheduleSB.h.

typedef std::vector<std::pair<MachineInstr*, int> >::iterator llvm::MSScheduleSB::kernel_iterator

Definition at line 63 of file MSScheduleSB.h.

typedef std::map<int, std::vector<MSchedGraphSBNode*> >::const_iterator llvm::MSScheduleSB::schedule_const_iterator

Definition at line 57 of file MSScheduleSB.h.

typedef std::map<int, std::vector<MSchedGraphSBNode*> >::iterator llvm::MSScheduleSB::schedule_iterator

Definition at line 56 of file MSScheduleSB.h.


Constructor & Destructor Documentation

llvm::MSScheduleSB::MSScheduleSB ( int  num  )  [inline]

Definition at line 45 of file MSScheduleSB.h.

llvm::MSScheduleSB::MSScheduleSB (  )  [inline]

Definition at line 46 of file MSScheduleSB.h.


Member Function Documentation

schedule_iterator llvm::MSScheduleSB::begin (  )  [inline]

Definition at line 58 of file MSScheduleSB.h.

Referenced by constructKernel().

void llvm::MSScheduleSB::clear (  )  [inline]

Definition at line 49 of file MSScheduleSB.h.

Referenced by llvm::ModuloSchedulingSBPass::runOnFunction().

bool MSScheduleSB::constructKernel ( int  II,
std::vector< MSchedGraphSBNode * > &  branches,
std::map< const MachineInstr *, unsigned > &  indVar 
)

Definition at line 187 of file MSScheduleSB.cpp.

References begin(), DEBUG, E, end(), I, index, O, and OE.

bool MSScheduleSB::defPreviousStage ( Value def,
int  stage 
)

Definition at line 276 of file MSScheduleSB.cpp.

References abort(), and llvm::MachineOperand::MO_VirtualRegister.

schedule_iterator llvm::MSScheduleSB::end (  )  [inline]

Definition at line 59 of file MSScheduleSB.h.

Referenced by constructKernel().

std::vector<std::pair<MachineInstr*, int> >* llvm::MSScheduleSB::getKernel (  )  [inline]

Definition at line 50 of file MSScheduleSB.h.

int llvm::MSScheduleSB::getMaxStage (  )  [inline]

Definition at line 52 of file MSScheduleSB.h.

Referenced by llvm::ModuloSchedulingSBPass::runOnFunction().

int llvm::MSScheduleSB::getStartCycle ( MSchedGraphSBNode node  ) 

bool MSScheduleSB::insert ( MSchedGraphSBNode node,
int  cycle,
int  II 
)

Definition at line 28 of file MSScheduleSB.cpp.

References DEBUG, and size.

kernel_iterator llvm::MSScheduleSB::kernel_begin (  )  [inline]

Definition at line 65 of file MSScheduleSB.h.

kernel_iterator llvm::MSScheduleSB::kernel_end (  )  [inline]

Definition at line 66 of file MSScheduleSB.h.

void MSScheduleSB::print ( std::ostream &  os  )  const

Definition at line 302 of file MSScheduleSB.cpp.

References E, and I.

Referenced by llvm::ModuloSchedulingSBPass::runOnFunction().

void MSScheduleSB::printSchedule ( std::ostream &  os  )  const

Definition at line 317 of file MSScheduleSB.cpp.

References E, and I.


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