LLVM  10.0.0svn
Public Member Functions | Protected Member Functions | List of all members
llvm::PeelingModuloScheduleExpander Class Reference

A reimplementation of ModuloScheduleExpander. More...

#include "llvm/CodeGen/ModuloSchedule.h"

Public Member Functions

 PeelingModuloScheduleExpander (MachineFunction &MF, ModuloSchedule &S, LiveIntervals *LIS)
 
void expand ()
 
void validateAgainstModuloScheduleExpander ()
 Runs ModuloScheduleExpander and treats it as a golden input to validate aspects of the code generated by PeelingModuloScheduleExpander. More...
 

Protected Member Functions

void rewriteKernel ()
 Converts BB from the original loop body to the rewritten, pipelined steady-state. More...
 

Detailed Description

A reimplementation of ModuloScheduleExpander.

It works by generating a standalone kernel loop and peeling out the prologs and epilogs.

Definition at line 273 of file ModuloSchedule.h.

Constructor & Destructor Documentation

◆ PeelingModuloScheduleExpander()

llvm::PeelingModuloScheduleExpander::PeelingModuloScheduleExpander ( MachineFunction MF,
ModuloSchedule S,
LiveIntervals LIS 
)
inline

Member Function Documentation

◆ expand()

void PeelingModuloScheduleExpander::expand ( )

Definition at line 1817 of file ModuloSchedule.cpp.

References LLVM_DEBUG.

Referenced by llvm::SwingSchedulerDAG::schedule().

◆ rewriteKernel()

void PeelingModuloScheduleExpander::rewriteKernel ( )
protected

Converts BB from the original loop body to the rewritten, pipelined steady-state.

Definition at line 1812 of file ModuloSchedule.cpp.

◆ validateAgainstModuloScheduleExpander()

void PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander ( )

The documentation for this class was generated from the following files: