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