#include "SystemZMachineScheduler.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
usingnamespacellvm;
#define DEBUG_TYPE …
#ifndef NDEBUG
void SystemZPostRASchedStrategy::SUSet::
dump(SystemZHazardRecognizer &HazardRec) const {
dbgs() << "{";
for (auto &SU : *this) {
HazardRec.dumpSU(SU, dbgs());
if (SU != *rbegin())
dbgs() << ", ";
}
dbgs() << "}\n";
}
#endif
static MachineBasicBlock *getSingleSchedPred(MachineBasicBlock *MBB,
const MachineLoop *Loop) { … }
void SystemZPostRASchedStrategy::
advanceTo(MachineBasicBlock::iterator NextBegin) { … }
void SystemZPostRASchedStrategy::initialize(ScheduleDAGMI *dag) { … }
void SystemZPostRASchedStrategy::enterMBB(MachineBasicBlock *NextMBB) { … }
void SystemZPostRASchedStrategy::leaveMBB() { … }
SystemZPostRASchedStrategy::
SystemZPostRASchedStrategy(const MachineSchedContext *C)
: … { … }
SystemZPostRASchedStrategy::~SystemZPostRASchedStrategy() { … }
void SystemZPostRASchedStrategy::initPolicy(MachineBasicBlock::iterator Begin,
MachineBasicBlock::iterator End,
unsigned NumRegionInstrs) { … }
SUnit *SystemZPostRASchedStrategy::pickNode(bool &IsTopNode) { … }
SystemZPostRASchedStrategy::Candidate::
Candidate(SUnit *SU_, SystemZHazardRecognizer &HazardRec) : … { … }
bool SystemZPostRASchedStrategy::Candidate::
operator<(const Candidate &other) { … }
void SystemZPostRASchedStrategy::schedNode(SUnit *SU, bool IsTopNode) { … }
void SystemZPostRASchedStrategy::releaseTopNode(SUnit *SU) { … }