mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 04:40:09 +01:00
pco: ensure srcs/dests interfere for instructions with repeat > 1
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This commit is contained in:
parent
f1b7374bbc
commit
728bd3ad79
1 changed files with 15 additions and 0 deletions
|
|
@ -627,6 +627,21 @@ static bool pco_ra_func(pco_func *func,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make srcs and dests interfere for instructions with repeat > 1. */
|
||||||
|
pco_foreach_instr_in_func_rev (instr, func) {
|
||||||
|
if (!pco_instr_has_rpt(instr))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (pco_instr_get_rpt(instr) < 2)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
pco_foreach_instr_dest_ssa (pdest, instr) {
|
||||||
|
pco_foreach_instr_src_ssa (psrc, instr) {
|
||||||
|
ra_add_node_interference(ra_graph, pdest->val, psrc->val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool allocated = ra_allocate(ra_graph);
|
bool allocated = ra_allocate(ra_graph);
|
||||||
assert(allocated);
|
assert(allocated);
|
||||||
/* TODO: spilling. */
|
/* TODO: spilling. */
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue