class ModuloSchedule
Declaration
class ModuloSchedule { /* full declaration omitted */ };
Description
Represents a schedule for a single-block loop. For every instruction we maintain a Cycle and Stage.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:78
Method Overview
- public ModuloSchedule(llvm::MachineFunction & MF, llvm::MachineLoop * Loop, std::vector<MachineInstr *> ScheduledInstrs, DenseMap<llvm::MachineInstr *, int> Cycle, DenseMap<llvm::MachineInstr *, int> Stage)
- public void dump()
- public int getCycle(llvm::MachineInstr * MI)
- public int getFinalCycle()
- public int getFirstCycle()
- public ArrayRef<llvm::MachineInstr *> getInstructions()
- public llvm::MachineLoop * getLoop() const
- public int getNumStages() const
- public int getStage(llvm::MachineInstr * MI)
- public void print(llvm::raw_ostream & OS)
Methods
¶ModuloSchedule(
llvm::MachineFunction& MF,
llvm::MachineLoop* Loop,
std::vector<MachineInstr*> ScheduledInstrs,
DenseMap<llvm::MachineInstr*, int> Cycle,
DenseMap<llvm::MachineInstr*, int> Stage)
ModuloSchedule(
llvm::MachineFunction& MF,
llvm::MachineLoop* Loop,
std::vector<MachineInstr*> ScheduledInstrs,
DenseMap<llvm::MachineInstr*, int> Cycle,
DenseMap<llvm::MachineInstr*, int> Stage)
Description
Create a new ModuloSchedule.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:105
Parameters
- llvm::MachineFunction& MF
- llvm::MachineLoop* Loop
- std::vector<MachineInstr*> ScheduledInstrs
- DenseMap<llvm::MachineInstr*, int> Cycle
- DenseMap<llvm::MachineInstr*, int> Stage
¶void dump()
void dump()
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:147
¶int getCycle(llvm::MachineInstr* MI)
int getCycle(llvm::MachineInstr* MI)
Description
Return the cycle that MI is scheduled at, or -1.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:139
Parameters
¶int getFinalCycle()
int getFinalCycle()
Description
Return the final cycle in the schedule, which is the cycle index of the last instruction.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:130
¶int getFirstCycle()
int getFirstCycle()
Description
Return the first cycle in the schedule, which is the cycle index of the first instruction.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:126
¶ArrayRef<llvm::MachineInstr*> getInstructions()
ArrayRef<llvm::MachineInstr*> getInstructions()
Description
Return the rescheduled instructions in order.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:145
¶llvm::MachineLoop* getLoop() const
llvm::MachineLoop* getLoop() const
Description
Return the single-block loop being scheduled.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:118
¶int getNumStages() const
int getNumStages() const
Description
Return the number of stages contained in this schedule, which is the largest stage index + 1.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:122
¶int getStage(llvm::MachineInstr* MI)
int getStage(llvm::MachineInstr* MI)
Description
Return the stage that MI is scheduled in, or -1.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:133
Parameters
¶void print(llvm::raw_ostream& OS)
void print(llvm::raw_ostream& OS)
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:148