mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
aco/spill: allow for disconnected CFG
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853>
This commit is contained in:
parent
caec48529b
commit
3d4f6a00b8
1 changed files with 3 additions and 3 deletions
|
|
@ -486,7 +486,7 @@ init_live_in_vars(spill_ctx& ctx, Block* block, unsigned block_idx)
|
||||||
RegisterDemand spilled_registers;
|
RegisterDemand spilled_registers;
|
||||||
|
|
||||||
/* first block, nothing was spilled before */
|
/* first block, nothing was spilled before */
|
||||||
if (block_idx == 0)
|
if (block->linear_preds.empty())
|
||||||
return {0, 0};
|
return {0, 0};
|
||||||
|
|
||||||
/* next use distances at the beginning of the current block */
|
/* next use distances at the beginning of the current block */
|
||||||
|
|
@ -1679,7 +1679,7 @@ end_unused_spill_vgprs(spill_ctx& ctx, Block& block, std::vector<Temp>& vgpr_spi
|
||||||
vgpr_spill_temps[i] = Temp();
|
vgpr_spill_temps[i] = Temp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (temps.empty())
|
if (temps.empty() || block.linear_preds.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
aco_ptr<Instruction> destr{create_instruction<Pseudo_instruction>(
|
aco_ptr<Instruction> destr{create_instruction<Pseudo_instruction>(
|
||||||
|
|
@ -1743,7 +1743,7 @@ assign_spill_slots(spill_ctx& ctx, unsigned spills_to_vgpr)
|
||||||
unsigned last_top_level_block_idx = 0;
|
unsigned last_top_level_block_idx = 0;
|
||||||
for (Block& block : ctx.program->blocks) {
|
for (Block& block : ctx.program->blocks) {
|
||||||
|
|
||||||
if (block.kind & block_kind_top_level && !block.linear_preds.empty()) {
|
if (block.kind & block_kind_top_level) {
|
||||||
last_top_level_block_idx = block.index;
|
last_top_level_block_idx = block.index;
|
||||||
|
|
||||||
end_unused_spill_vgprs(ctx, block, vgpr_spill_temps, slots, ctx.spills_entry[block.index]);
|
end_unused_spill_vgprs(ctx, block, vgpr_spill_temps, slots, ctx.spills_entry[block.index]);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue