LLVM 24.0.0git
false::MachinePipelinerImpl Class Reference

The main class in the implementation of the target independent software pipeliner pass. More...

Classes

struct  LoopInfo
 Cache the target analysis information about the loop. More...

Public Member Functions

 MachinePipelinerImpl (MachineFunction &MF, const MachineLoopInfo &MLI, LiveIntervals &LIS, AAResults &AA, MachineOptimizationRemarkEmitter &ORE, RegisterClassInfo &RegClassInfo)
bool run ()
 Run the software pipeliner over all loops in the function.

Public Attributes

MachineFunctionMF = nullptr
MachineOptimizationRemarkEmitterORE = nullptr
const MachineLoopInfoMLI = nullptr
const InstrItineraryDataInstrItins = nullptr
const TargetInstrInfoTII = nullptr
RegisterClassInfoRegClassInfo = nullptr
LiveIntervalsLIS = nullptr
AAResultsAA = nullptr
const TargetMachineTM = nullptr
bool disabledByPragma = false
unsigned II_setByPragma = 0
LoopInfo LI

Static Public Attributes

static int NumTries = 0

Detailed Description

The main class in the implementation of the target independent software pipeliner pass.

Definition at line 360 of file MachinePipeliner.cpp.

Constructor & Destructor Documentation

◆ MachinePipelinerImpl()

MachinePipelinerImpl::MachinePipelinerImpl ( MachineFunction & MF,
const MachineLoopInfo & MLI,
LiveIntervals & LIS,
AAResults & AA,
MachineOptimizationRemarkEmitter & ORE,
RegisterClassInfo & RegClassInfo )

Definition at line 415 of file MachinePipeliner.cpp.

References AA, LIS, MachinePipelinerImpl(), MF, MLI, ORE, RegClassInfo, TII, and TM.

Referenced by MachinePipelinerImpl().

Member Function Documentation

◆ run()

bool MachinePipelinerImpl::run ( )

Run the software pipeliner over all loops in the function.

The "main" function for implementing Swing Modulo Scheduling.

Definition at line 423 of file MachinePipeliner.cpp.

References Changed, and MLI.

Member Data Documentation

◆ AA

AAResults* false::MachinePipelinerImpl::AA = nullptr

Definition at line 369 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ disabledByPragma

bool false::MachinePipelinerImpl::disabledByPragma = false

Definition at line 371 of file MachinePipeliner.cpp.

◆ II_setByPragma

unsigned false::MachinePipelinerImpl::II_setByPragma = 0

Definition at line 372 of file MachinePipeliner.cpp.

◆ InstrItins

const InstrItineraryData* false::MachinePipelinerImpl::InstrItins = nullptr

Definition at line 365 of file MachinePipeliner.cpp.

◆ LI

LoopInfo false::MachinePipelinerImpl::LI

Definition at line 388 of file MachinePipeliner.cpp.

◆ LIS

LiveIntervals* false::MachinePipelinerImpl::LIS = nullptr

Definition at line 368 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ MF

MachineFunction* false::MachinePipelinerImpl::MF = nullptr

Definition at line 362 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ MLI

const MachineLoopInfo* false::MachinePipelinerImpl::MLI = nullptr

Definition at line 364 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl(), and run().

◆ NumTries

int MachinePipelinerImpl::NumTries = 0
static

Definition at line 375 of file MachinePipeliner.cpp.

◆ ORE

MachineOptimizationRemarkEmitter* false::MachinePipelinerImpl::ORE = nullptr

Definition at line 363 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ RegClassInfo

RegisterClassInfo* false::MachinePipelinerImpl::RegClassInfo = nullptr

Definition at line 367 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ TII

const TargetInstrInfo* false::MachinePipelinerImpl::TII = nullptr

Definition at line 366 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().

◆ TM

const TargetMachine* false::MachinePipelinerImpl::TM = nullptr

Definition at line 370 of file MachinePipeliner.cpp.

Referenced by MachinePipelinerImpl().


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