mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
[Pipeliner] Fixed optimization remarks and debug dumps Initiation
Interval value The II value was incremented before exiting the loop, and therefor when used in the optimization remarks and debug dumps it did not reflect the initiation interval actually used in Schedule. Differential Revision: https://reviews.llvm.org/D95692
This commit is contained in:
parent
08661b0074
commit
214897b9a5
@ -526,6 +526,9 @@ public:
|
||||
/// Set the initiation interval for this schedule.
|
||||
void setInitiationInterval(int ii) { InitiationInterval = ii; }
|
||||
|
||||
/// Return the initiation interval for this schedule.
|
||||
int getInitiationInterval() const { return InitiationInterval; }
|
||||
|
||||
/// Return the first cycle in the completed schedule. This
|
||||
/// can be a negative value.
|
||||
int getFirstCycle() const { return FirstCycle; }
|
||||
|
@ -2034,9 +2034,8 @@ bool SwingSchedulerDAG::schedulePipeline(SMSchedule &Schedule) {
|
||||
}
|
||||
|
||||
bool scheduleFound = false;
|
||||
unsigned II = 0;
|
||||
// Keep increasing II until a valid schedule is found.
|
||||
for (II = MII; II <= MAX_II && !scheduleFound; ++II) {
|
||||
for (unsigned II = MII; II <= MAX_II && !scheduleFound; ++II) {
|
||||
Schedule.reset();
|
||||
Schedule.setInitiationInterval(II);
|
||||
LLVM_DEBUG(dbgs() << "Try to schedule with " << II << "\n");
|
||||
@ -2109,7 +2108,8 @@ bool SwingSchedulerDAG::schedulePipeline(SMSchedule &Schedule) {
|
||||
scheduleFound = Schedule.isValidSchedule(this);
|
||||
}
|
||||
|
||||
LLVM_DEBUG(dbgs() << "Schedule Found? " << scheduleFound << " (II=" << II
|
||||
LLVM_DEBUG(dbgs() << "Schedule Found? " << scheduleFound
|
||||
<< " (II=" << Schedule.getInitiationInterval()
|
||||
<< ")\n");
|
||||
|
||||
if (scheduleFound) {
|
||||
@ -2117,7 +2117,8 @@ bool SwingSchedulerDAG::schedulePipeline(SMSchedule &Schedule) {
|
||||
Pass.ORE->emit([&]() {
|
||||
return MachineOptimizationRemarkAnalysis(
|
||||
DEBUG_TYPE, "schedule", Loop.getStartLoc(), Loop.getHeader())
|
||||
<< "Schedule found with Initiation Interval: " << ore::NV("II", II)
|
||||
<< "Schedule found with Initiation Interval: "
|
||||
<< ore::NV("II", Schedule.getInitiationInterval())
|
||||
<< ", MaxStageCount: "
|
||||
<< ore::NV("MaxStageCount", Schedule.getMaxStageCount());
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user