diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:01:22 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:01:22 +0000 |
commit | 71d5a2540a98c81f5bcaeb48805e0e2881f530ef (patch) | |
tree | 5343938942df402b49ec7300a1c25a2d4ccd5821 /include/llvm/CodeGen/ScoreboardHazardRecognizer.h | |
parent | 31bbf64f3a4974a2d6c8b3b27ad2f519caf74057 (diff) |
Diffstat (limited to 'include/llvm/CodeGen/ScoreboardHazardRecognizer.h')
-rw-r--r-- | include/llvm/CodeGen/ScoreboardHazardRecognizer.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/include/llvm/CodeGen/ScoreboardHazardRecognizer.h b/include/llvm/CodeGen/ScoreboardHazardRecognizer.h index e0c30fe4d82a..466ab532030c 100644 --- a/include/llvm/CodeGen/ScoreboardHazardRecognizer.h +++ b/include/llvm/CodeGen/ScoreboardHazardRecognizer.h @@ -17,8 +17,8 @@ #define LLVM_CODEGEN_SCOREBOARDHAZARDRECOGNIZER_H #include "llvm/CodeGen/ScheduleHazardRecognizer.h" -#include "llvm/Support/DataTypes.h" #include <cassert> +#include <cstddef> #include <cstring> namespace llvm { @@ -38,21 +38,25 @@ class ScoreboardHazardRecognizer : public ScheduleHazardRecognizer { // bottom-up scheduler, then the scoreboard cycles are the inverse of the // scheduler's cycles. class Scoreboard { - unsigned *Data; + unsigned *Data = nullptr; // The maximum number of cycles monitored by the Scoreboard. This // value is determined based on the target itineraries to ensure // that all hazards can be tracked. - size_t Depth; + size_t Depth = 0; + // Indices into the Scoreboard that represent the current cycle. - size_t Head; + size_t Head = 0; + public: - Scoreboard():Data(nullptr), Depth(0), Head(0) { } + Scoreboard() = default; + ~Scoreboard() { delete[] Data; } size_t getDepth() const { return Depth; } + unsigned& operator[](size_t idx) const { // Depth is expected to be a power-of-2. assert(Depth && !(Depth & (Depth - 1)) && @@ -93,10 +97,10 @@ class ScoreboardHazardRecognizer : public ScheduleHazardRecognizer { const ScheduleDAG *DAG; /// IssueWidth - Max issue per cycle. 0=Unknown. - unsigned IssueWidth; + unsigned IssueWidth = 0; /// IssueCount - Count instructions issued in this cycle. - unsigned IssueCount; + unsigned IssueCount = 0; Scoreboard ReservedScoreboard; Scoreboard RequiredScoreboard; @@ -119,6 +123,6 @@ public: void RecedeCycle() override; }; -} +} // end namespace llvm -#endif //!LLVM_CODEGEN_SCOREBOARDHAZARDRECOGNIZER_H +#endif // LLVM_CODEGEN_SCOREBOARDHAZARDRECOGNIZER_H |