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 | 8eac00963347ec729959be8fee78584cd5566b26 (patch) | |
tree | 656319aa04ee1648c3461d481dc565fd96589495 /llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp | |
parent | 920ceddf807410e615bd888bed4bbb6a5849fdac (diff) | |
download | bcm5719-llvm-8eac00963347ec729959be8fee78584cd5566b26.tar.gz bcm5719-llvm-8eac00963347ec729959be8fee78584cd5566b26.zip |
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.
llvm-svn: 158679
Diffstat (limited to 'llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp')
-rw-r--r-- | llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp b/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp index 7110b7566ab..d22398f58ce 100644 --- a/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp +++ b/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp @@ -95,9 +95,9 @@ void ScoreboardHazardRecognizer::Scoreboard::dump() const { last--; for (unsigned i = 0; i <= last; i++) { - unsigned FUs = (*this)[i]; + uint64_t FUs = (*this)[i]; dbgs() << "\t"; - for (int j = 31; j >= 0; j--) + for (int j = 63; j >= 0; j--) dbgs() << ((FUs & (1 << j)) ? '1' : '0'); dbgs() << '\n'; } @@ -144,7 +144,7 @@ ScoreboardHazardRecognizer::getHazardType(SUnit *SU, int Stalls) { break; } - unsigned freeUnits = IS->getUnits(); + uint64_t freeUnits = IS->getUnits(); switch (IS->getReservationKind()) { case InstrStage::Required: // Required FUs conflict with both reserved and required ones @@ -196,7 +196,7 @@ void ScoreboardHazardRecognizer::EmitInstruction(SUnit *SU) { assert(((cycle + i) < RequiredScoreboard.getDepth()) && "Scoreboard depth exceeded!"); - unsigned freeUnits = IS->getUnits(); + uint64_t freeUnits = IS->getUnits(); switch (IS->getReservationKind()) { case InstrStage::Required: // Required FUs conflict with both reserved and required ones @@ -209,7 +209,7 @@ void ScoreboardHazardRecognizer::EmitInstruction(SUnit *SU) { } // reduce to a single unit - unsigned freeUnit = 0; + uint64_t freeUnit = 0; do { freeUnit = freeUnits; freeUnits = freeUnit & (freeUnit - 1); |