1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Change SUnit's dump method to take a ScheduleDAG* instead of

a SelectionDAG*.

llvm-svn: 59488
This commit is contained in:
Dan Gohman 2008-11-18 02:06:40 +00:00
parent 33cf8ff597
commit bc8cfae5c3
5 changed files with 26 additions and 25 deletions

View File

@ -29,6 +29,7 @@ namespace llvm {
class MachineRegisterInfo;
class MachineInstr;
class TargetRegisterInfo;
class ScheduleDAG;
class SelectionDAG;
class SelectionDAGISel;
class TargetInstrInfo;
@ -239,8 +240,8 @@ namespace llvm {
return false;
}
void dump(const SelectionDAG *G) const;
void dumpAll(const SelectionDAG *G) const;
void dump(const ScheduleDAG *G) const;
void dumpAll(const ScheduleDAG *G) const;
};
//===--------------------------------------------------------------------===//

View File

@ -440,7 +440,7 @@ unsigned ScheduleDAG::ComputeMemOperandsEnd(SDNode *Node) {
void ScheduleDAG::dumpSchedule() const {
for (unsigned i = 0, e = Sequence.size(); i != e; i++) {
if (SUnit *SU = Sequence[i])
SU->dump(DAG);
SU->dump(this);
else
cerr << "**** NOOP ****\n";
}
@ -459,10 +459,10 @@ void ScheduleDAG::Run() {
/// SUnit - Scheduling unit. It's an wrapper around either a single SDNode or
/// a group of nodes flagged together.
void SUnit::dump(const SelectionDAG *G) const {
void SUnit::dump(const ScheduleDAG *G) const {
cerr << "SU(" << NodeNum << "): ";
if (getNode())
getNode()->dump(G);
getNode()->dump(G->DAG);
else
cerr << "CROSS RC COPY ";
cerr << "\n";
@ -471,13 +471,13 @@ void SUnit::dump(const SelectionDAG *G) const {
FlaggedNodes.push_back(N);
while (!FlaggedNodes.empty()) {
cerr << " ";
FlaggedNodes.back()->dump(G);
FlaggedNodes.back()->dump(G->DAG);
cerr << "\n";
FlaggedNodes.pop_back();
}
}
void SUnit::dumpAll(const SelectionDAG *G) const {
void SUnit::dumpAll(const ScheduleDAG *G) const {
dump(G);
cerr << " # preds left : " << NumPredsLeft << "\n";

View File

@ -125,7 +125,7 @@ void ScheduleDAGFast::Schedule() {
BuildSchedUnits();
DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
SUnits[su].dumpAll(DAG));
SUnits[su].dumpAll(this));
// Execute the actual scheduling loop.
ListScheduleBottomUp();
@ -143,7 +143,7 @@ void ScheduleDAGFast::ReleasePred(SUnit *SU, SUnit *PredSU, bool isChain) {
#ifndef NDEBUG
if (PredSU->NumSuccsLeft < 0) {
cerr << "*** Scheduling failed! ***\n";
PredSU->dump(DAG);
PredSU->dump(this);
cerr << " has been released too many times!\n";
assert(0);
}
@ -160,7 +160,7 @@ void ScheduleDAGFast::ReleasePred(SUnit *SU, SUnit *PredSU, bool isChain) {
/// the Available queue.
void ScheduleDAGFast::ScheduleNodeBottomUp(SUnit *SU, unsigned CurCycle) {
DOUT << "*** Scheduling [" << CurCycle << "]: ";
DEBUG(SU->dump(DAG));
DEBUG(SU->dump(this));
SU->Cycle = CurCycle;
// Bottom up: release predecessors
@ -613,14 +613,14 @@ void ScheduleDAGFast::ListScheduleBottomUp() {
}
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has not been scheduled!\n";
AnyNotSched = true;
}
if (SUnits[i].NumSuccsLeft != 0) {
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has successors left!\n";
AnyNotSched = true;
}

View File

@ -113,7 +113,7 @@ void ScheduleDAGList::ReleaseSucc(SUnit *SU, SUnit *SuccSU, bool isChain) {
#ifndef NDEBUG
if (SuccSU->NumPredsLeft < 0) {
cerr << "*** Scheduling failed! ***\n";
SuccSU->dump(DAG);
SuccSU->dump(this);
cerr << " has been released too many times!\n";
assert(0);
}
@ -142,7 +142,7 @@ void ScheduleDAGList::ReleaseSucc(SUnit *SU, SUnit *SuccSU, bool isChain) {
/// the Available queue.
void ScheduleDAGList::ScheduleNodeTopDown(SUnit *SU, unsigned CurCycle) {
DOUT << "*** Scheduling [" << CurCycle << "]: ";
DEBUG(SU->dump(DAG));
DEBUG(SU->dump(this));
Sequence.push_back(SU);
SU->Cycle = CurCycle;
@ -267,7 +267,7 @@ void ScheduleDAGList::ListScheduleTopDown() {
if (SUnits[i].NumPredsLeft != 0) {
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has not been scheduled!\n";
AnyNotSched = true;
}

View File

@ -186,7 +186,7 @@ void ScheduleDAGRRList::Schedule() {
BuildSchedUnits();
DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
SUnits[su].dumpAll(DAG));
SUnits[su].dumpAll(this));
if (!Fast) {
CalculateDepths();
CalculateHeights();
@ -271,7 +271,7 @@ void ScheduleDAGRRList::ReleasePred(SUnit *SU, SUnit *PredSU, bool isChain) {
#ifndef NDEBUG
if (PredSU->NumSuccsLeft < 0) {
cerr << "*** Scheduling failed! ***\n";
PredSU->dump(DAG);
PredSU->dump(this);
cerr << " has been released too many times!\n";
assert(0);
}
@ -301,7 +301,7 @@ void ScheduleDAGRRList::ReleasePred(SUnit *SU, SUnit *PredSU, bool isChain) {
/// the Available queue.
void ScheduleDAGRRList::ScheduleNodeBottomUp(SUnit *SU, unsigned CurCycle) {
DOUT << "*** Scheduling [" << CurCycle << "]: ";
DEBUG(SU->dump(DAG));
DEBUG(SU->dump(this));
SU->Cycle = CurCycle;
AvailableQueue->ScheduledNode(SU);
@ -368,7 +368,7 @@ void ScheduleDAGRRList::CapturePred(SUnit *PredSU, SUnit *SU, bool isChain) {
/// its predecessor states to reflect the change.
void ScheduleDAGRRList::UnscheduleNodeBottomUp(SUnit *SU) {
DOUT << "*** Unscheduling [" << SU->Cycle << "]: ";
DEBUG(SU->dump(DAG));
DEBUG(SU->dump(this));
AvailableQueue->UnscheduledNode(SU);
@ -1084,14 +1084,14 @@ void ScheduleDAGRRList::ListScheduleBottomUp() {
}
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has not been scheduled!\n";
AnyNotSched = true;
}
if (SUnits[i].NumSuccsLeft != 0) {
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has successors left!\n";
AnyNotSched = true;
}
@ -1117,7 +1117,7 @@ void ScheduleDAGRRList::ReleaseSucc(SUnit *SU, SUnit *SuccSU, bool isChain) {
#ifndef NDEBUG
if (SuccSU->NumPredsLeft < 0) {
cerr << "*** Scheduling failed! ***\n";
SuccSU->dump(DAG);
SuccSU->dump(this);
cerr << " has been released too many times!\n";
assert(0);
}
@ -1148,7 +1148,7 @@ void ScheduleDAGRRList::ReleaseSucc(SUnit *SU, SUnit *SuccSU, bool isChain) {
/// the Available queue.
void ScheduleDAGRRList::ScheduleNodeTopDown(SUnit *SU, unsigned CurCycle) {
DOUT << "*** Scheduling [" << CurCycle << "]: ";
DEBUG(SU->dump(DAG));
DEBUG(SU->dump(this));
SU->Cycle = CurCycle;
Sequence.push_back(SU);
@ -1213,14 +1213,14 @@ void ScheduleDAGRRList::ListScheduleTopDown() {
}
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has not been scheduled!\n";
AnyNotSched = true;
}
if (SUnits[i].NumPredsLeft != 0) {
if (!AnyNotSched)
cerr << "*** List scheduling failed! ***\n";
SUnits[i].dump(DAG);
SUnits[i].dump(this);
cerr << "has predecessors left!\n";
AnyNotSched = true;
}