LLVM API Documentation

llvm::MSSchedule Class Reference

#include <MSSchedule.h>

Collaboration diagram for llvm::MSSchedule:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< int, std::vector<
MSchedGraphNode * > >::iterator 
schedule_iterator
typedef std::map< int, std::vector<
MSchedGraphNode * > >::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

 MSSchedule (int num)
 MSSchedule ()
bool insert (MSchedGraphNode *node, int cycle, int II)
int getStartCycle (MSchedGraphNode *node)
void clear ()
std::vector< std::pair< MachineInstr *,
int > > * 
getKernel ()
bool constructKernel (int II, std::vector< MSchedGraphNode * > &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
kernel_iterator kernel_begin ()
kernel_iterator kernel_end ()

Detailed Description

Definition at line 23 of file MSSchedule.h.


Member Typedef Documentation

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

Definition at line 63 of file MSSchedule.h.

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

Definition at line 62 of file MSSchedule.h.

typedef std::map<int, std::vector<MSchedGraphNode*> >::const_iterator llvm::MSSchedule::schedule_const_iterator

Definition at line 57 of file MSSchedule.h.

typedef std::map<int, std::vector<MSchedGraphNode*> >::iterator llvm::MSSchedule::schedule_iterator

Definition at line 56 of file MSSchedule.h.


Constructor & Destructor Documentation

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

Definition at line 45 of file MSSchedule.h.

llvm::MSSchedule::MSSchedule (  )  [inline]

Definition at line 46 of file MSSchedule.h.


Member Function Documentation

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

Definition at line 58 of file MSSchedule.h.

Referenced by constructKernel().

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

Definition at line 49 of file MSSchedule.h.

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

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

Definition at line 187 of file MSSchedule.cpp.

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

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

Definition at line 269 of file MSSchedule.cpp.

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

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

Definition at line 59 of file MSSchedule.h.

Referenced by constructKernel().

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

Definition at line 50 of file MSSchedule.h.

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

Definition at line 52 of file MSSchedule.h.

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

int llvm::MSSchedule::getStartCycle ( MSchedGraphNode node  ) 

bool MSSchedule::insert ( MSchedGraphNode node,
int  cycle,
int  II 
)

Definition at line 28 of file MSSchedule.cpp.

References DEBUG, resourcesFree(), and size.

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

Definition at line 64 of file MSSchedule.h.

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

Definition at line 65 of file MSSchedule.h.

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

Definition at line 295 of file MSSchedule.cpp.

References E, and I.

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


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