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
- public ScheduleDAG(llvm::MachineFunction & mf)
- public unsigned int VerifyScheduledDAG(bool isBottomUp)
- public virtual void addCustomGraphFeatures(GraphWriter<llvm::ScheduleDAG *> &) const
- public void clearDAG()
- public virtual void dump() const
- public virtual void dumpNode(const llvm::SUnit & SU) const
- protected void dumpNodeAll(const llvm::SUnit & SU) const
- public void dumpNodeName(const llvm::SUnit & SU) const
- public virtual std::string getDAGName() const
- public virtual std::string getGraphNodeLabel(const llvm::SUnit * SU) const
- public const llvm::MCInstrDesc * getInstrDesc(const llvm::SUnit * SU) const
- public virtual void viewGraph(const llvm::Twine & Name, const llvm::Twine & Title)
- public virtual void viewGraph()
- public virtual ~ScheduleDAG()
Methods
¶ScheduleDAG(llvm::MachineFunction& mf)
ScheduleDAG(llvm::MachineFunction& mf)
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:572
Parameters
¶unsigned int VerifyScheduledDAG(bool isBottomUp)
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
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()
void clearDAG()
Description
Clears the DAG state (between regions).
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:577
¶virtual void dump() const
virtual void dump() const
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:591
¶virtual void dumpNode(const llvm::SUnit& SU) const
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
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
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
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
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
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)
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()
virtual void viewGraph()
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:588
¶virtual ~ScheduleDAG()
virtual ~ScheduleDAG()
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:574