summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZHazardRecognizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/SystemZ/SystemZHazardRecognizer.h')
-rw-r--r--lib/Target/SystemZ/SystemZHazardRecognizer.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/Target/SystemZ/SystemZHazardRecognizer.h b/lib/Target/SystemZ/SystemZHazardRecognizer.h
index 7e1b5fb2e4fe..40cb3acc7009 100644
--- a/lib/Target/SystemZ/SystemZHazardRecognizer.h
+++ b/lib/Target/SystemZ/SystemZHazardRecognizer.h
@@ -75,9 +75,11 @@ class SystemZHazardRecognizer : public ScheduleHazardRecognizer {
/// Two decoder groups per cycle are formed (for z13), meaning 2x3
/// instructions. This function returns a number between 0 and 5,
- /// representing the current decoder slot of the current cycle.
- unsigned getCurrCycleIdx();
-
+ /// representing the current decoder slot of the current cycle. If an SU
+ /// is passed which will begin a new decoder group, the returned value is
+ /// the cycle index of the next group.
+ unsigned getCurrCycleIdx(SUnit *SU = nullptr) const;
+
/// LastFPdOpCycleIdx stores the numbeer returned by getCurrCycleIdx()
/// when a stalling operation is scheduled (which uses the FPd resource).
unsigned LastFPdOpCycleIdx;
@@ -88,14 +90,14 @@ class SystemZHazardRecognizer : public ScheduleHazardRecognizer {
unsigned getCurrGroupSize() {return CurrGroupSize;};
/// Start next decoder group.
- void nextGroup(bool DbgOutput = true);
+ void nextGroup();
/// Clear all counters for processor resources.
void clearProcResCounters();
/// With the goal of alternating processor sides for stalling (FPd)
/// ops, return true if it seems good to schedule an FPd op next.
- bool isFPdOpPreferred_distance(const SUnit *SU);
+ bool isFPdOpPreferred_distance(SUnit *SU) const;
/// Last emitted instruction or nullptr.
MachineInstr *LastEmittedMI;
@@ -145,6 +147,7 @@ public:
void dumpSU(SUnit *SU, raw_ostream &OS) const;
void dumpCurrGroup(std::string Msg = "") const;
void dumpProcResourceCounters() const;
+ void dumpState() const;
#endif
MachineBasicBlock::iterator getLastEmittedMI() { return LastEmittedMI; }