class MachinePipeliner

Declaration

class MachinePipeliner : public MachineFunctionPass { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:60

Inherits from: MachineFunctionPass

Member Variables

public llvm::MachineFunction* MF = nullptr
public const llvm::MachineLoopInfo* MLI = nullptr
public const llvm::MachineDominatorTree* MDT = nullptr
public const llvm::InstrItineraryData* InstrItins
public const llvm::TargetInstrInfo* TII = nullptr
public llvm::RegisterClassInfo RegClassInfo
public bool disabledByPragma = false
public unsigned int II_setByPragma = 0
public llvm::MachinePipeliner::LoopInfo LI
public static int NumTries
public static char ID

Method Overview

Inherited from MachineFunctionPass:

Inherited from FunctionPass:

Inherited from Pass:

Methods

MachinePipeliner()

Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:87

void getAnalysisUsage(
    llvm::AnalysisUsage& AU) const

Description

getAnalysisUsage - Subclasses that override getAnalysisUsage must call this. For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.

Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:93

Parameters

llvm::AnalysisUsage& AU

bool runOnMachineFunction(
    llvm::MachineFunction& MF)

Description

The "main" function for implementing Swing Modulo Scheduling.

Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:91

Parameters

llvm::MachineFunction& MF