LLVM 22.0.0git
|
The ModuloScheduleExpander takes a ModuloSchedule and expands it in-place, rewriting the old loop and inserting prologs and epilogs as required. More...
#include "llvm/CodeGen/ModuloSchedule.h"
Public Types | |
using | InstrChangesTy = DenseMap<MachineInstr *, std::pair<Register, int64_t>> |
Public Member Functions | |
ModuloScheduleExpander (MachineFunction &MF, ModuloSchedule &S, LiveIntervals &LIS, InstrChangesTy InstrChanges) | |
Create a new ModuloScheduleExpander. | |
void | expand () |
Performs the actual expansion. | |
void | cleanup () |
Performs final cleanup after expansion. | |
MachineBasicBlock * | getRewrittenKernel () |
Returns the newly rewritten kernel block, or nullptr if this was optimized away. |
The ModuloScheduleExpander takes a ModuloSchedule and expands it in-place, rewriting the old loop and inserting prologs and epilogs as required.
Definition at line 161 of file ModuloSchedule.h.
using llvm::ModuloScheduleExpander::InstrChangesTy = DenseMap<MachineInstr *, std::pair<Register, int64_t>> |
Definition at line 163 of file ModuloSchedule.h.
|
inline |
Create a new ModuloScheduleExpander.
Definition at line 265 of file ModuloSchedule.h.
References llvm::move().
void ModuloScheduleExpander::cleanup | ( | ) |
Performs final cleanup after expansion.
Definition at line 189 of file ModuloSchedule.cpp.
References I.
Referenced by llvm::WindowScheduler::expand(), llvm::SwingSchedulerDAG::schedule(), and llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander().
void ModuloScheduleExpander::expand | ( | ) |
Performs the actual expansion.
Definition at line 72 of file ModuloSchedule.cpp.
Referenced by llvm::WindowScheduler::expand(), llvm::SwingSchedulerDAG::schedule(), and llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander().
|
inline |
Returns the newly rewritten kernel block, or nullptr if this was optimized away.
Definition at line 278 of file ModuloSchedule.h.
Referenced by llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander().