LLVM API Documentation
#include <ScheduleDAG.h>


Definition at line 416 of file ScheduleDAG.h.
| ScheduleDAG::ScheduleDAG | ( | SelectionDAG * | dag, | |
| MachineBasicBlock * | bb, | |||
| const TargetMachine & | tm | |||
| ) |
Definition at line 24 of file ScheduleDAG.cpp.
References BB, ConstPool, llvm::MachineFunction::getConstantPool(), llvm::TargetMachine::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::TargetMachine::getRegisterInfo(), llvm::TargetMachine::getTargetLowering(), MF, TII, TLI, TM, and TRI.
| ScheduleDAG::~ScheduleDAG | ( | ) | [virtual] |
Definition at line 34 of file ScheduleDAG.cpp.
| void ScheduleDAG::viewGraph | ( | ) |
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'.
Definition at line 83 of file ScheduleDAGPrinter.cpp.
References BB, llvm::cerr(), llvm::MachineBasicBlock::getBasicBlock(), llvm::MachineFunction::getFunction(), llvm::Value::getName(), MF, and llvm::ViewGraph().
| void ScheduleDAG::Run | ( | ) |
Run - perform scheduling.
Definition at line 49 of file ScheduleDAG.cpp.
References DEBUG, DOUT, dumpSchedule(), and Schedule().
| virtual void llvm::ScheduleDAG::BuildSchedGraph | ( | ) | [pure virtual] |
BuildSchedGraph - Build SUnits and set up their Preds and Succs to form the scheduling dependency graph.
Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.
| virtual void llvm::ScheduleDAG::ComputeLatency | ( | SUnit * | SU | ) | [pure virtual] |
ComputeLatency - Compute node latency.
Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.
| void ScheduleDAG::EmitNoop | ( | ) | [protected] |
EmitNoop - Emit a noop instruction.
Definition at line 35 of file ScheduleDAGEmit.cpp.
References BB, llvm::MachineBasicBlock::end(), llvm::TargetInstrInfo::insertNoop(), and TII.
Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule(), and llvm::ScheduleDAGInstrs::EmitSchedule().
| virtual MachineBasicBlock* llvm::ScheduleDAG::EmitSchedule | ( | ) | [pure virtual] |
Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.
| void ScheduleDAG::dumpSchedule | ( | ) | const |
dump - dump the schedule.
Definition at line 37 of file ScheduleDAG.cpp.
References llvm::cerr(), and Sequence.
Referenced by Run().
| virtual void llvm::ScheduleDAG::Schedule | ( | ) | [pure virtual] |
Schedule - Order nodes according to selected style, filling in the Sequence member.
Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.
Referenced by Run().
| virtual void llvm::ScheduleDAG::dumpNode | ( | const SUnit * | SU | ) | const [pure virtual] |
Implemented in llvm::ScheduleDAGInstrs, and llvm::ScheduleDAGSDNodes.
Referenced by llvm::SUnit::dump().
| 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.
| virtual void llvm::ScheduleDAG::addCustomGraphFeatures | ( | GraphWriter< ScheduleDAG * > & | ) | const [inline, virtual] |
addCustomGraphFeatures - Add custom features for a visualization of the ScheduleDAG.
Definition at line 477 of file ScheduleDAG.h.
Referenced by llvm::DOTGraphTraits< ScheduleDAG * >::addCustomGraphFeatures().
| void ScheduleDAG::VerifySchedule | ( | bool | isBottomUp | ) |
VerifySchedule - Verify that all SUnits were scheduled and that their state is consistent.
VerifySchedule - Verify that all SUnits were scheduled and that their state is consistent.
Definition at line 304 of file ScheduleDAG.cpp.
References llvm::cerr(), llvm::SUnit::getHeight(), isBottomUp, llvm::SUnit::isScheduled, llvm::SUnit::NumPreds, llvm::SUnit::NumPredsLeft, llvm::SUnit::NumSuccs, llvm::SUnit::NumSuccsLeft, and SUnits.
| void ScheduleDAG::AddMemOperand | ( | MachineInstr * | MI, | |
| const MachineMemOperand & | MO | |||
| ) | [protected] |
Definition at line 31 of file ScheduleDAGEmit.cpp.
References llvm::MachineInstr::addMemOperand(), and MF.
Referenced by llvm::ScheduleDAGSDNodes::EmitNode().
| void ScheduleDAG::EmitCrossRCCopy | ( | SUnit * | SU, | |
| DenseMap< SUnit *, unsigned > & | VRBaseMap | |||
| ) | [protected] |
Definition at line 39 of file ScheduleDAGEmit.cpp.
References BB, llvm::SUnit::CopyDstRC, llvm::TargetInstrInfo::copyRegToReg(), llvm::SUnit::CopySrcRC, llvm::MachineRegisterInfo::createVirtualRegister(), E, llvm::MachineBasicBlock::end(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::end(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::find(), I, II, llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::insert(), MRI, llvm::SUnit::Preds, Reg, llvm::SUnit::Succs, and TII.
Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule().
| virtual bool llvm::ScheduleDAG::ForceUnitLatencies | ( | ) | const [inline, protected, virtual] |
ForceUnitLatencies - Return true if all scheduling edges should be given a latency value of one. The default is to return false; schedulers may override this as needed.
Definition at line 493 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph().
Definition at line 418 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGSDNodes::dumpNode(), llvm::ScheduleDAGSDNodes::EmitNode(), llvm::ScheduleDAGSDNodes::getCustomGraphFeatures(), llvm::ScheduleDAGSDNodes::getDAG(), and llvm::ScheduleDAGSDNodes::getGraphNodeLabel().
Definition at line 419 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), EmitCrossRCCopy(), llvm::ScheduleDAGSDNodes::EmitNode(), EmitNoop(), llvm::ScheduleDAGSDNodes::EmitSchedule(), llvm::ScheduleDAGInstrs::EmitSchedule(), ScheduleDAG(), and viewGraph().
Definition at line 420 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::ScheduleDAGSDNodes::ComputeLatency(), llvm::ScheduleDAGInstrs::ComputeLatency(), and ScheduleDAG().
Definition at line 421 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::ScheduleDAGSDNodes::ComputeLatency(), EmitCrossRCCopy(), llvm::ScheduleDAGSDNodes::EmitNode(), EmitNoop(), and ScheduleDAG().
Definition at line 422 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::ScheduleDAGSDNodes::EmitNode(), and ScheduleDAG().
Definition at line 423 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGSDNodes::EmitNode(), and ScheduleDAG().
Definition at line 424 of file ScheduleDAG.h.
Referenced by AddMemOperand(), llvm::ScheduleDAGSDNodes::EmitNode(), llvm::DOTGraphTraits< ScheduleDAG * >::getGraphName(), ScheduleDAG(), and viewGraph().
Definition at line 425 of file ScheduleDAG.h.
Referenced by EmitCrossRCCopy(), and llvm::ScheduleDAGSDNodes::EmitNode().
| std::vector<SUnit*> llvm::ScheduleDAG::Sequence |
Definition at line 427 of file ScheduleDAG.h.
Referenced by dumpSchedule(), llvm::ScheduleDAGSDNodes::EmitSchedule(), and llvm::ScheduleDAGInstrs::EmitSchedule().
| std::vector<SUnit> llvm::ScheduleDAG::SUnits |
Definition at line 429 of file ScheduleDAG.h.
Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph(), llvm::ScheduleDAGSDNodes::getCustomGraphFeatures(), llvm::ScheduleDAGSDNodes::NewSUnit(), llvm::ScheduleDAGInstrs::NewSUnit(), llvm::GraphTraits< ScheduleDAG * >::nodes_begin(), and llvm::GraphTraits< ScheduleDAG * >::nodes_end().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.