aco: don't consider the first partial spill if it's the wrong type

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: 20.2 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6212>
This commit is contained in:
Rhys Perry 2020-08-05 13:29:58 +01:00 committed by Marge Bot
parent 8f6a900d5e
commit 1a5444b900
1 changed files with 4 additions and 4 deletions

View File

@ -647,8 +647,8 @@ RegisterDemand init_live_in_vars(spill_ctx& ctx, Block* block, unsigned block_id
assert(!partial_spills.empty());
std::set<Temp>::iterator it = partial_spills.begin();
Temp to_spill = *it;
unsigned distance = ctx.next_use_distances_start[block_idx][*it].second;
Temp to_spill = Temp();
unsigned distance = 0;
while (it != partial_spills.end()) {
assert(ctx.spills_entry[block_idx].find(*it) == ctx.spills_entry[block_idx].end());
@ -670,8 +670,8 @@ RegisterDemand init_live_in_vars(spill_ctx& ctx, Block* block, unsigned block_id
assert(!partial_spills.empty());
std::set<Temp>::iterator it = partial_spills.begin();
Temp to_spill = *it;
unsigned distance = ctx.next_use_distances_start[block_idx][*it].second;
Temp to_spill = Temp();
unsigned distance = 0;
while (it != partial_spills.end()) {
assert(ctx.spills_entry[block_idx].find(*it) == ctx.spills_entry[block_idx].end());