class ScheduleDAG

Declaration

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

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

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:571

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:605

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:600

Parameters

GraphWriter<llvm::ScheduleDAG*>&

void clearDAG()

Description

Clears the DAG state (between regions).

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

virtual void dump() const

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

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

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

Parameters

const llvm::SUnit& SU

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

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

Parameters

const llvm::SUnit& SU

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

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

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:597

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:594

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:580

Parameters

const llvm::SUnit* SU

const llvm::MCInstrDesc* getNodeDesc(
    const llvm::SDNode* Node) const

Description

Returns the MCInstrDesc of this SDNode or NULL.

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

Parameters

const llvm::SDNode* Node

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:586

Parameters

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

virtual void viewGraph()

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

virtual ~ScheduleDAG()

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