Deleted Added
full compact
ScoreboardHazardRecognizer.cpp (226890) ScoreboardHazardRecognizer.cpp (235633)
1//===----- ScoreboardHazardRecognizer.cpp - Scheduler Support -------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 126 unchanged lines hidden (view full) ---

135 assert((StageCycle - Stalls) < (int)RequiredScoreboard.getDepth() &&
136 "Scoreboard depth exceeded!");
137 // This stage was stalled beyond pipeline depth, so cannot conflict.
138 break;
139 }
140
141 unsigned freeUnits = IS->getUnits();
142 switch (IS->getReservationKind()) {
1//===----- ScoreboardHazardRecognizer.cpp - Scheduler Support -------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 126 unchanged lines hidden (view full) ---

135 assert((StageCycle - Stalls) < (int)RequiredScoreboard.getDepth() &&
136 "Scoreboard depth exceeded!");
137 // This stage was stalled beyond pipeline depth, so cannot conflict.
138 break;
139 }
140
141 unsigned freeUnits = IS->getUnits();
142 switch (IS->getReservationKind()) {
143 default:
144 assert(0 && "Invalid FU reservation");
145 case InstrStage::Required:
146 // Required FUs conflict with both reserved and required ones
147 freeUnits &= ~ReservedScoreboard[StageCycle];
148 // FALLTHROUGH
149 case InstrStage::Reserved:
150 // Reserved FUs can conflict only with required ones.
151 freeUnits &= ~RequiredScoreboard[StageCycle];
152 break;

--- 36 unchanged lines hidden (view full) ---

189 // stage is occupied. FIXME it would be more accurate to reserve
190 // the same unit free in all the cycles.
191 for (unsigned int i = 0; i < IS->getCycles(); ++i) {
192 assert(((cycle + i) < RequiredScoreboard.getDepth()) &&
193 "Scoreboard depth exceeded!");
194
195 unsigned freeUnits = IS->getUnits();
196 switch (IS->getReservationKind()) {
143 case InstrStage::Required:
144 // Required FUs conflict with both reserved and required ones
145 freeUnits &= ~ReservedScoreboard[StageCycle];
146 // FALLTHROUGH
147 case InstrStage::Reserved:
148 // Reserved FUs can conflict only with required ones.
149 freeUnits &= ~RequiredScoreboard[StageCycle];
150 break;

--- 36 unchanged lines hidden (view full) ---

187 // stage is occupied. FIXME it would be more accurate to reserve
188 // the same unit free in all the cycles.
189 for (unsigned int i = 0; i < IS->getCycles(); ++i) {
190 assert(((cycle + i) < RequiredScoreboard.getDepth()) &&
191 "Scoreboard depth exceeded!");
192
193 unsigned freeUnits = IS->getUnits();
194 switch (IS->getReservationKind()) {
197 default:
198 assert(0 && "Invalid FU reservation");
199 case InstrStage::Required:
200 // Required FUs conflict with both reserved and required ones
201 freeUnits &= ~ReservedScoreboard[cycle + i];
202 // FALLTHROUGH
203 case InstrStage::Reserved:
204 // Reserved FUs can conflict only with required ones.
205 freeUnits &= ~RequiredScoreboard[cycle + i];
206 break;

--- 36 unchanged lines hidden ---
195 case InstrStage::Required:
196 // Required FUs conflict with both reserved and required ones
197 freeUnits &= ~ReservedScoreboard[cycle + i];
198 // FALLTHROUGH
199 case InstrStage::Reserved:
200 // Reserved FUs can conflict only with required ones.
201 freeUnits &= ~RequiredScoreboard[cycle + i];
202 break;

--- 36 unchanged lines hidden ---