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
- 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
- private const llvm::MCInstrDesc * getNodeDesc(const llvm::SDNode * Node) 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:571
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:605
Parameters
- bool isBottomUp
¶virtual void addCustomGraphFeatures(
GraphWriter<llvm::ScheduleDAG*>&) const
virtual void addCustomGraphFeatures(
GraphWriter<llvm::ScheduleDAG*>&) constDescription
Adds custom features for a visualization of the ScheduleDAG.
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:600
Parameters
- GraphWriter<llvm::ScheduleDAG*>&
¶void clearDAG()
void clearDAG()Description
Clears the DAG state (between regions).
Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:576
¶virtual void dump() const
virtual void dump() constDeclared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:590
¶virtual void dumpNode(const llvm::SUnit& SU) const
virtual void dumpNode(const llvm::SUnit& SU) constDeclared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:589
Parameters
- const llvm::SUnit& SU
¶void dumpNodeAll(const llvm::SUnit& SU) const
void dumpNodeAll(const llvm::SUnit& SU) constDeclared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:609
Parameters
- const llvm::SUnit& SU
¶void dumpNodeName(const llvm::SUnit& SU) const
void dumpNodeName(const llvm::SUnit& SU) constDeclared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:591
Parameters
- const llvm::SUnit& SU
¶virtual std::string getDAGName() const
virtual std::string getDAGName() constDescription
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
virtual std::string getGraphNodeLabel(
const llvm::SUnit* SU) constDescription
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
const llvm::MCInstrDesc* getInstrDesc(
const llvm::SUnit* SU) constDescription
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
const llvm::MCInstrDesc* getNodeDesc(
const llvm::SDNode* Node) constDescription
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)
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()
virtual void viewGraph()Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:587
¶virtual ~ScheduleDAG()
virtual ~ScheduleDAG()Declared at: llvm/include/llvm/CodeGen/ScheduleDAG.h:573