class PeelingModuloScheduleExpander
Declaration
class PeelingModuloScheduleExpander { /* full declaration omitted */ };Description
A reimplementation of ModuloScheduleExpander. It works by generating a standalone kernel loop and peeling out the prologs and epilogs.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:273
Method Overview
- public PeelingModuloScheduleExpander(llvm::MachineFunction & MF, llvm::ModuloSchedule & S, llvm::LiveIntervals * LIS)
 - public void expand()
 - protected void rewriteKernel()
 - public void validateAgainstModuloScheduleExpander()
 
Methods
¶PeelingModuloScheduleExpander(
    llvm::MachineFunction& MF,
    llvm::ModuloSchedule& S,
    llvm::LiveIntervals* LIS)
PeelingModuloScheduleExpander(
    llvm::MachineFunction& MF,
    llvm::ModuloSchedule& S,
    llvm::LiveIntervals* LIS)Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:309
Parameters
¶void expand()
void expand()Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:314
¶void rewriteKernel()
void rewriteKernel()Description
Converts BB from the original loop body to the rewritten, pipelined steady-state.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:323
¶void validateAgainstModuloScheduleExpander()
void validateAgainstModuloScheduleExpander()Description
Runs ModuloScheduleExpander and treats it as a golden input to validate aspects of the code generated by PeelingModuloScheduleExpander.
Declared at: llvm/include/llvm/CodeGen/ModuloSchedule.h:318