projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use 'override/final' instead of 'virtual' for overridden methods
[oota-llvm.git]
/
lib
/
CodeGen
/
SelectionDAG
/
ScheduleDAGVLIW.cpp
diff --git
a/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
b/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
index 30f03ac737b92e67b3f5b73f33f5bac52c689063..eee4a4b06718646769bc4f633708a27f571497d4 100644
(file)
--- a/
lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
+++ b/
lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
@@
-18,23
+18,25
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
-#
define DEBUG_TYPE "pre-RA-sched
"
+#
include "llvm/CodeGen/SchedulerRegistry.h
"
#include "ScheduleDAGSDNodes.h"
#include "ScheduleDAGSDNodes.h"
+#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LatencyPriorityQueue.h"
#include "llvm/CodeGen/LatencyPriorityQueue.h"
+#include "llvm/CodeGen/ResourcePriorityQueue.h"
#include "llvm/CodeGen/ScheduleHazardRecognizer.h"
#include "llvm/CodeGen/ScheduleHazardRecognizer.h"
-#include "llvm/CodeGen/SchedulerRegistry.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
-#include "llvm/Target/TargetRegisterInfo.h"
-#include "llvm/DataLayout.h"
-#include "llvm/Target/TargetInstrInfo.h"
+#include "llvm/IR/DataLayout.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
-#include "llvm/ADT/Statistic.h"
-#include "llvm/CodeGen/ResourcePriorityQueue.h"
+#include "llvm/Target/TargetInstrInfo.h"
+#include "llvm/Target/TargetRegisterInfo.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
#include <climits>
using namespace llvm;
#include <climits>
using namespace llvm;
+#define DEBUG_TYPE "pre-RA-sched"
+
STATISTIC(NumNoops , "Number of noops inserted");
STATISTIC(NumStalls, "Number of pipeline stalls");
STATISTIC(NumNoops , "Number of noops inserted");
STATISTIC(NumStalls, "Number of pipeline stalls");
@@
-70,17
+72,16
@@
public:
AliasAnalysis *aa,
SchedulingPriorityQueue *availqueue)
: ScheduleDAGSDNodes(mf), AvailableQueue(availqueue), AA(aa) {
AliasAnalysis *aa,
SchedulingPriorityQueue *availqueue)
: ScheduleDAGSDNodes(mf), AvailableQueue(availqueue), AA(aa) {
-
- const TargetMachine &tm = mf.getTarget();
- HazardRec = tm.getInstrInfo()->CreateTargetHazardRecognizer(&tm, this);
+ const TargetSubtargetInfo &STI = mf.getSubtarget();
+ HazardRec = STI.getInstrInfo()->CreateTargetHazardRecognizer(&STI, this);
}
}
- ~ScheduleDAGVLIW() {
+ ~ScheduleDAGVLIW()
override
{
delete HazardRec;
delete AvailableQueue;
}
delete HazardRec;
delete AvailableQueue;
}
- void Schedule();
+ void Schedule()
override
;
private:
void releaseSucc(SUnit *SU, const SDep &D);
private:
void releaseSucc(SUnit *SU, const SDep &D);
@@
-120,9
+121,11
@@
void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) {
dbgs() << "*** Scheduling failed! ***\n";
SuccSU->dump(this);
dbgs() << " has been released too many times!\n";
dbgs() << "*** Scheduling failed! ***\n";
SuccSU->dump(this);
dbgs() << " has been released too many times!\n";
- llvm_unreachable(
0
);
+ llvm_unreachable(
nullptr
);
}
#endif
}
#endif
+ assert(!D.isWeak() && "unexpected artificial DAG edge");
+
--SuccSU->NumPredsLeft;
SuccSU->setDepthToAtLeast(SU->getDepth() + D.getLatency());
--SuccSU->NumPredsLeft;
SuccSU->setDepthToAtLeast(SU->getDepth() + D.getLatency());
@@
-202,12
+205,12
@@
void ScheduleDAGVLIW::listScheduleTopDown() {
// don't advance the hazard recognizer.
if (AvailableQueue->empty()) {
// Reset DFA state.
// don't advance the hazard recognizer.
if (AvailableQueue->empty()) {
// Reset DFA state.
- AvailableQueue->scheduledNode(
0
);
+ AvailableQueue->scheduledNode(
nullptr
);
++CurCycle;
continue;
}
++CurCycle;
continue;
}
- SUnit *FoundSUnit =
0
;
+ SUnit *FoundSUnit =
nullptr
;
bool HasNoopHazards = false;
while (!AvailableQueue->empty()) {
bool HasNoopHazards = false;
while (!AvailableQueue->empty()) {
@@
-254,7
+257,7
@@
void ScheduleDAGVLIW::listScheduleTopDown() {
// processors without pipeline interlocks and other cases.
DEBUG(dbgs() << "*** Emitting noop\n");
HazardRec->EmitNoop();
// processors without pipeline interlocks and other cases.
DEBUG(dbgs() << "*** Emitting noop\n");
HazardRec->EmitNoop();
- Sequence.push_back(
0
); // NULL here means noop
+ Sequence.push_back(
nullptr
); // NULL here means noop
++NumNoops;
++CurCycle;
}
++NumNoops;
++CurCycle;
}