nir/lower_shader_calls: Remat derefs after shader calls
authorKonstantin Seurer <konstantin.seurer@gmail.com>
Thu, 18 May 2023 09:38:43 +0000 (11:38 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 11 Jul 2023 17:32:55 +0000 (17:32 +0000)
commit6532751e4d2757bd65871442b5116955affd69d7
tree3c14ba30c84b7d6b988141df7159d8287dce8c2f
parente81a47cfa246848f28f9c878f1337df8bd0da007
nir/lower_shader_calls: Remat derefs after shader calls

This avoids spilling deref instructions by wrapping shader calls inside
dummy blocks, rematerializing derefs in their use blocks and removing
the dummy blocks.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22064>
src/compiler/nir/nir_lower_shader_calls.c