pan/bi: Interpret register allocation results
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 12 Mar 2020 12:05:58 +0000 (08:05 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 12 Mar 2020 12:41:08 +0000 (12:41 +0000)
commitdcc50f4302d9904e5c433d8bd81af6fcb3159479
treeaa9d3ef22efe39999fd55fb16c72bb63dbbc5e24
parente8139ef6453aa3a8da5a07be74dcb80a35f083e3
pan/bi: Interpret register allocation results

Once LCRA has run, we have a map from IR indices to byte offsets into
the register file, so we need to "install" these results, rewriting the
IR to use native registers and fixing up writemasks/swizzles to
substitute vectorization for adjacent registers (for LCRA, we're
modeling in terms of real vectors).

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4158>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4158>
src/panfrost/bifrost/bi_ra.c
src/panfrost/bifrost/bifrost_compile.c