diff options
author | Hal Finkel <hfinkel@anl.gov> | 2012-06-18 21:08:18 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2012-06-18 21:08:18 +0000 |
commit | e877c4f9c7b4e4142f33a29e6cd1a07262525a12 (patch) | |
tree | ecbb5ae6ebaa572c5715be2b35512d9921317c74 /include | |
parent | 0ed5cf4fc1f6d7947687114c9d0cbe0d1ba1d883 (diff) | |
download | llvm-e877c4f9c7b4e4142f33a29e6cd1a07262525a12.tar.gz llvm-e877c4f9c7b4e4142f33a29e6cd1a07262525a12.tar.bz2 llvm-e877c4f9c7b4e4142f33a29e6cd1a07262525a12.tar.xz |
Allow up to 64 functional units per processor itinerary.
This patch changes the type used to hold the FU bitset from unsigned to uint64_t.
This will be needed for some upcoming PowerPC itineraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158679 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/DFAPacketizer.h | 2 | ||||
-rw-r--r-- | include/llvm/CodeGen/ScoreboardHazardRecognizer.h | 6 | ||||
-rw-r--r-- | include/llvm/MC/MCInstrItineraries.h | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/DFAPacketizer.h b/include/llvm/CodeGen/DFAPacketizer.h index 2d2db78144..d9a48b6328 100644 --- a/include/llvm/CodeGen/DFAPacketizer.h +++ b/include/llvm/CodeGen/DFAPacketizer.h @@ -42,7 +42,7 @@ class SUnit; class DFAPacketizer { private: - typedef std::pair<unsigned, unsigned> UnsignPair; + typedef std::pair<unsigned, uint64_t> UnsignPair; const InstrItineraryData *InstrItins; int CurrentState; const int (*DFAStateInputTable)[2]; diff --git a/include/llvm/CodeGen/ScoreboardHazardRecognizer.h b/include/llvm/CodeGen/ScoreboardHazardRecognizer.h index 060e89a3fd..c741e1ba24 100644 --- a/include/llvm/CodeGen/ScoreboardHazardRecognizer.h +++ b/include/llvm/CodeGen/ScoreboardHazardRecognizer.h @@ -39,7 +39,7 @@ class ScoreboardHazardRecognizer : public ScheduleHazardRecognizer { // bottom-up scheduler, then the scoreboard cycles are the inverse of the // scheduler's cycles. class Scoreboard { - unsigned *Data; + uint64_t *Data; // The maximum number of cycles monitored by the Scoreboard. This // value is determined based on the target itineraries to ensure @@ -54,7 +54,7 @@ class ScoreboardHazardRecognizer : public ScheduleHazardRecognizer { } size_t getDepth() const { return Depth; } - unsigned& operator[](size_t idx) const { + uint64_t& operator[](size_t idx) const { // Depth is expected to be a power-of-2. assert(Depth && !(Depth & (Depth - 1)) && "Scoreboard was not initialized properly!"); @@ -65,7 +65,7 @@ class ScoreboardHazardRecognizer : public ScheduleHazardRecognizer { void reset(size_t d = 1) { if (Data == NULL) { Depth = d; - Data = new unsigned[Depth]; + Data = new uint64_t[Depth]; } memset(Data, 0, Depth * sizeof(Data[0])); diff --git a/include/llvm/MC/MCInstrItineraries.h b/include/llvm/MC/MCInstrItineraries.h index 05baddd918..e6178a2d61 100644 --- a/include/llvm/MC/MCInstrItineraries.h +++ b/include/llvm/MC/MCInstrItineraries.h @@ -62,7 +62,7 @@ struct InstrStage { }; unsigned Cycles_; ///< Length of stage in machine cycles - unsigned Units_; ///< Choice of functional units + uint64_t Units_; ///< Choice of functional units int NextCycles_; ///< Number of machine cycles to next stage ReservationKinds Kind_; ///< Kind of the FU reservation @@ -72,7 +72,7 @@ struct InstrStage { } /// getUnits - returns the choice of FUs - unsigned getUnits() const { + uint64_t getUnits() const { return Units_; } |