LLVM API Documentation
#include <MSScheduleSB.h>
Collaboration diagram for llvm::MSScheduleSB:
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 () |
Definition at line 23 of file MSScheduleSB.h.
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.
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.
schedule_iterator llvm::MSScheduleSB::begin | ( | ) | [inline] |
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 | |||
) |
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] |
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 | |||
) |
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.
Referenced by llvm::ModuloSchedulingSBPass::runOnFunction().
void MSScheduleSB::printSchedule | ( | std::ostream & | os | ) | const |