From d10b7691306bc3c2295a381458fb24056e70f825 Mon Sep 17 00:00:00 2001 From: Simon Perretta Date: Fri, 14 Mar 2025 15:38:36 +0000 Subject: [PATCH] pco: temporarily make vecs interfere with their components during regalloc Signed-off-by: Simon Perretta Acked-by: Erik Faye-Lund Part-of: --- src/imagination/pco/pco_ra.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/imagination/pco/pco_ra.c b/src/imagination/pco/pco_ra.c index 454452537a0..15470dfdd49 100644 --- a/src/imagination/pco/pco_ra.c +++ b/src/imagination/pco/pco_ra.c @@ -388,6 +388,15 @@ static bool pco_ra_func(pco_func *func, } } + pco_foreach_instr_in_func_rev (vec, func) { + if (vec->op != PCO_OP_VEC) + continue; + + pco_foreach_instr_src_ssa (psrc, vec) { + ra_add_node_interference(ra_graph, vec->dest[0].val, psrc->val); + } + } + bool allocated = ra_allocate(ra_graph); assert(allocated); /* TODO: spilling. */