lima/ppir: introduce liveness internal live set
authorErico Nunes <nunes.erico@gmail.com>
Mon, 13 Apr 2020 13:21:52 +0000 (15:21 +0200)
committerMarge Bot <eric+marge@anholt.net>
Sat, 9 May 2020 11:30:07 +0000 (11:30 +0000)
commitcef1c73634493ef9766baa0b6a898369eff7686f
treeb40800b8ec4e7605ee5485f6bc1d296fe2867d5c
parent9e790fea7c178141b5bb1b82ab6bcf4034bfdb18
lima/ppir: introduce liveness internal live set

The current solution for handling registers that live and die within a
single instruction does not handle all cases. In particular, these
intra-instruction use register also conflict with registers that are
part of the live_in set.
Unfortunately, adding them to the live_in set is not an easy solution as
that would cause them to be propagated upwards. So, add a separate set
to handle these registers in the particular instructions, without
propagating them.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535>
src/gallium/drivers/lima/ir/pp/liveness.c
src/gallium/drivers/lima/ir/pp/ppir.h
src/gallium/drivers/lima/ir/pp/regalloc.c