nir/opt_loop_unroll: Remove unneeded phis if we make progress
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 11 Jul 2018 00:50:16 +0000 (10:50 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 29 Aug 2018 06:02:05 +0000 (16:02 +1000)
commit0f450b57a1c056043952d24f97348eb2fc8b4ba7
treeef4ad1ca02c41439108929edfa90280c4a7f5d64
parent5a6b04d94bd2ec175d485b71e8ae815efd778a8a
nir/opt_loop_unroll: Remove unneeded phis if we make progress

Now that SSA values can be derefs and they have special rules, we have
to be a bit more careful about our LCSSA phis.  In particular, we need
to clean up in case LCSSA ended up creating a phi node for a deref.
This avoids validation issues with some CTS tests with the following
patch, but its possible this we could also see the same problem with
the existing unrolling passes.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir_opt_loop_unroll.c