class ScheduleDAG

Declaration

class ScheduleDAG { /* full declaration omitted */ };

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:555

Member Variables

public const llvm::LLVMTargetMachine& TM
Target processor
public const llvm::TargetInstrInfo* TII
Target instruction information
public const llvm::TargetRegisterInfo* TRI
Target processor register info
public llvm::MachineFunction& MF
Machine function
public llvm::MachineRegisterInfo& MRI
Virtual/real register map
public std::vector<SUnit> SUnits
The scheduling units.
public llvm::SUnit EntrySU
Special node for the region entry.
public llvm::SUnit ExitSU
Special node for the region exit.
public bool StressSched

Method Overview

Methods

ScheduleDAG(llvm::MachineFunction& mf)

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:572

Parameters

llvm::MachineFunction& mf

unsigned int VerifyScheduledDAG(bool isBottomUp)

Description

Verifies that all SUnits were scheduled and that their state is consistent. Returns the number of scheduled SUnits.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:606

Parameters

bool isBottomUp

virtual void addCustomGraphFeatures(
    GraphWriter<llvm::ScheduleDAG*>&) const

Description

Adds custom features for a visualization of the ScheduleDAG.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:601

Parameters

GraphWriter<llvm::ScheduleDAG*>&

void clearDAG()

Description

Clears the DAG state (between regions).

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:577

virtual void dump() const

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:591

virtual void dumpNode(const llvm::SUnit& SU) const

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:590

Parameters

const llvm::SUnit& SU

void dumpNodeAll(const llvm::SUnit& SU) const

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:610

Parameters

const llvm::SUnit& SU

void dumpNodeName(const llvm::SUnit& SU) const

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:592

Parameters

const llvm::SUnit& SU

virtual std::string getDAGName() const

Description

Returns a label for the region of code covered by the DAG.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:598

virtual std::string getGraphNodeLabel(
    const llvm::SUnit* SU) const

Description

Returns a label for an SUnit node in a visualization of the ScheduleDAG.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:595

Parameters

const llvm::SUnit* SU

const llvm::MCInstrDesc* getInstrDesc(
    const llvm::SUnit* SU) const

Description

Returns the MCInstrDesc of this SUnit. Returns NULL for SDNodes without a machine opcode.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:581

Parameters

const llvm::SUnit* SU

virtual void viewGraph(const llvm::Twine& Name,
                       const llvm::Twine& Title)

Description

Pops up a GraphViz/gv window with the ScheduleDAG rendered using 'dot'.

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:587

Parameters

const llvm::Twine& Name
const llvm::Twine& Title

virtual void viewGraph()

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:588

virtual ~ScheduleDAG()

Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:574