LLVM API Documentation
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/Target/MRegisterInfo.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Visibility.h"
#include "llvm/ADT/Statistic.h"
#include <climits>
#include <iostream>
#include <queue>
Include dependency graph for ScheduleDAGList.cpp:
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "sched" |
Functions | |
static SUnit * | getSingleUnscheduledPred (SUnit *SU) |
ScheduleDAG * | llvm::createTDListDAGScheduler (SelectionDAG &DAG, MachineBasicBlock *BB, HazardRecognizer *HR) |
Variables | |
static Statistic | NumNoops ("scheduler","Number of noops inserted") |
static Statistic | NumStalls ("scheduler","Number of pipeline stalls") |
#define DEBUG_TYPE "sched" |
Definition at line 21 of file ScheduleDAGList.cpp.
getSingleUnscheduledPred - If there is exactly one unscheduled predecessor of SU, return it, otherwise return null.
Definition at line 449 of file ScheduleDAGList.cpp.
References E, and llvm::SUnit::Preds.
AvailableQueue - The priority queue to use for the available SUnits.
Definition at line 50 of file ScheduleDAGList.cpp.
std::vector<int> Latencies |
Definition at line 314 of file ScheduleDAGList.cpp.
std::vector<unsigned> NumNodesSolelyBlocking |
NumNodesSolelyBlocking - This vector contains, for every node in the Queue, the number of nodes that the node is the sole unscheduled predecessor for. This is used as a tie-breaker heuristic for better mobility.
Definition at line 320 of file ScheduleDAGList.cpp.
std::vector<std::pair<unsigned, SUnit*> > PendingQueue |
PendingQueue - This contains all of the instructions whose operands have been issued, but their results are not ready yet (due to the latency of the operation). Once the operands becomes available, the instruction is added to the AvailableQueue. This keeps track of each SUnit and the number of cycles left to execute before the operation is available.
Definition at line 57 of file ScheduleDAGList.cpp.
LatencyPriorityQueue* PQ |
Definition at line 299 of file ScheduleDAGList.cpp.
Definition at line 322 of file ScheduleDAGList.cpp.
Definition at line 310 of file ScheduleDAGList.cpp.