diff --git a/.pick_status.json b/.pick_status.json index e59cc407cb3..16529b5f1ec 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -751,7 +751,7 @@ "description": "aco: don't consider the first partial spill if it's the wrong type", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/compiler/aco_spill.cpp b/src/amd/compiler/aco_spill.cpp index 9609d639fb3..45c67469d94 100644 --- a/src/amd/compiler/aco_spill.cpp +++ b/src/amd/compiler/aco_spill.cpp @@ -647,8 +647,8 @@ RegisterDemand init_live_in_vars(spill_ctx& ctx, Block* block, unsigned block_id assert(!partial_spills.empty()); std::set::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::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());