LLVM API Documentation

Public Member Functions | Public Attributes
llvm::ScheduleDAG Class Reference

#include <ScheduleDAG.h>

Inheritance diagram for llvm::ScheduleDAG:
Inheritance graph
[legend]
Collaboration diagram for llvm::ScheduleDAG:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ScheduleDAG (MachineFunction &mf)
virtual ~ScheduleDAG ()
void clearDAG ()
 clearDAG - clear the DAG state (between regions).
const MCInstrDescgetInstrDesc (const SUnit *SU) const
virtual void viewGraph (const Twine &Name, const Twine &Title)
virtual void viewGraph ()
 Out-of-line implementation with no arguments is handy for gdb.
virtual void dumpNode (const SUnit *SU) const =0
virtual std::string getGraphNodeLabel (const SUnit *SU) const =0
virtual std::string getDAGName () const =0
 getDAGLabel - Return a label for the region of code covered by the DAG.
virtual void addCustomGraphFeatures (GraphWriter< ScheduleDAG * > &) const
unsigned VerifyScheduledDAG (bool isBottomUp)

Public Attributes

const TargetMachineTM
const TargetInstrInfoTII
const TargetRegisterInfoTRI
MachineFunctionMF
MachineRegisterInfoMRI
std::vector< SUnitSUnits
SUnit EntrySU
SUnit ExitSU
bool StressSched

Detailed Description

Definition at line 552 of file ScheduleDAG.h.


Constructor & Destructor Documentation

Definition at line 38 of file ScheduleDAG.cpp.

References StressSched, and StressSchedOpt.

Definition at line 47 of file ScheduleDAG.cpp.


Member Function Documentation

virtual void llvm::ScheduleDAG::addCustomGraphFeatures ( GraphWriter< ScheduleDAG * > &  ) const [inline, virtual]

addCustomGraphFeatures - Add custom features for a visualization of the ScheduleDAG.

Definition at line 600 of file ScheduleDAG.h.

Referenced by llvm::DOTGraphTraits< ScheduleDAG * >::addCustomGraphFeatures().

clearDAG - clear the DAG state (between regions).

Clear the DAG state (e.g. between scheduling regions).

Definition at line 50 of file ScheduleDAG.cpp.

References EntrySU, ExitSU, and SUnits.

Referenced by llvm::ScheduleDAGInstrs::buildSchedGraph(), and llvm::ScheduleDAGSDNodes::Run().

virtual void llvm::ScheduleDAG::dumpNode ( const SUnit SU) const [pure virtual]
virtual std::string llvm::ScheduleDAG::getDAGName ( ) const [pure virtual]

getDAGLabel - Return a label for the region of code covered by the DAG.

Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.

Referenced by viewGraph().

virtual std::string llvm::ScheduleDAG::getGraphNodeLabel ( const SUnit SU) const [pure virtual]

getGraphNodeLabel - Return a label for an SUnit node in a visualization of the ScheduleDAG.

Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.

Referenced by llvm::DOTGraphTraits< ScheduleDAGMI * >::getNodeDescription().

VerifyScheduledDAG - Verify that all SUnits were scheduled and that their state is consistent. Return the number of scheduled SUnits.

VerifyScheduledDAG - Verify that all SUnits were scheduled and that their state is consistent. Return the number of scheduled nodes.

Definition at line 383 of file ScheduleDAG.cpp.

References llvm::dbgs(), and SUnits.

Referenced by llvm::ScheduleDAGSDNodes::VerifyScheduledSequence().

void ScheduleDAG::viewGraph ( const Twine Name,
const Twine Title 
) [virtual]

viewGraph - Pop up a GraphViz/gv window with the ScheduleDAG rendered using 'dot'.

viewGraph - Pop up a ghostview window with the reachable parts of the DAG rendered using 'dot'.

Reimplemented in llvm::ScheduleDAGMI.

Definition at line 86 of file ScheduleDAGPrinter.cpp.

References llvm::errs(), and llvm::ViewGraph().

void ScheduleDAG::viewGraph ( ) [virtual]

Out-of-line implementation with no arguments is handy for gdb.

Reimplemented in llvm::ScheduleDAGMI.

Definition at line 97 of file ScheduleDAGPrinter.cpp.

References getDAGName().


Member Data Documentation

Definition at line 566 of file ScheduleDAG.h.

Referenced by ScheduleDAG().


The documentation for this class was generated from the following files: