diff --git a/src/amd/compiler/aco_spill.cpp b/src/amd/compiler/aco_spill.cpp index 8e81eefab91..3ad8c0e8553 100644 --- a/src/amd/compiler/aco_spill.cpp +++ b/src/amd/compiler/aco_spill.cpp @@ -68,7 +68,7 @@ struct spill_ctx { std::vector> register_demand; std::vector> renames; std::vector> spills_entry; - std::vector> spills_exit; + std::vector> spills_exit; std::vector processed; std::stack> loop_header; @@ -884,7 +884,7 @@ add_coupling_code(spill_ctx& ctx, Block* block, unsigned block_idx) ctx.unused_remats.erase(ctx.remat[var].instr); /* check if variable is already spilled at predecessor */ - std::map::iterator spilled = ctx.spills_exit[pred_idx].find(var); + auto spilled = ctx.spills_exit[pred_idx].find(var); if (spilled != ctx.spills_exit[pred_idx].end()) { if (spilled->second != def_spill_id) ctx.add_affinity(def_spill_id, spilled->second); @@ -934,7 +934,7 @@ add_coupling_code(spill_ctx& ctx, Block* block, unsigned block_idx) for (unsigned pred_idx : preds) { /* variable is already spilled at predecessor */ - std::map::iterator spilled = ctx.spills_exit[pred_idx].find(pair.first); + auto spilled = ctx.spills_exit[pred_idx].find(pair.first); if (spilled != ctx.spills_exit[pred_idx].end()) { if (spilled->second != pair.second) ctx.add_affinity(pair.second, spilled->second); @@ -1306,7 +1306,7 @@ spill_block(spill_ctx& ctx, unsigned block_idx) } assert(ctx.spills_exit[block_idx].empty()); - ctx.spills_exit[block_idx] = current_spills; + ctx.spills_exit[block_idx] = std::unordered_map(current_spills.begin(), current_spills.end()); if (process) { process_block(ctx, block_idx, block, spilled_registers); }