microsoft/compiler: Duplicate some SSA values to simplify SSA typing
authorJesse Natalie <jenatali@microsoft.com>
Thu, 11 May 2023 17:58:25 +0000 (10:58 -0700)
committerMarge Bot <emma+marge@anholt.net>
Fri, 12 May 2023 22:23:48 +0000 (22:23 +0000)
commitd94e23d7bd516988df3aafbe1438f89d6121e254
tree7ff5fcc5e90502333fe7cb49566b9ae415a29086
parent049d340d8e270168bc71f294bd7ea038adb736a4
microsoft/compiler: Duplicate some SSA values to simplify SSA typing

For each phi src, ensure that it's only used as a phi src.
This lets us give each phi their own unique types without worrying
about them stomping on each other. Also scalarize phis.

For each constant, ensure that it's only used once. The DXIL backend
will already dedupe these consts within the module, but this lets a
single load_const have multiple types depending on how it's used.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22972>
src/microsoft/compiler/dxil_nir.c
src/microsoft/compiler/dxil_nir.h
src/microsoft/compiler/nir_to_dxil.c