nir/phi-builder: Set the value in the block when creating a phi
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 15 Dec 2016 04:25:51 +0000 (20:25 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 30 Dec 2016 00:02:44 +0000 (16:02 -0800)
commit67a70889f61a374bc535286d12117780e9fbc0c3
tree14cf46207bf0d5c35ee2c2e67d2265364e8b6238
parentbaf1aa1334c61d505cde7e132b5f1bf4fa44a22c
nir/phi-builder: Set the value in the block when creating a phi

After we figure out the value that we are going to return, we have a
loop that walks up the dominance tree and sets the value in each of the
blocks that doesn't have one yet.  In the case of the phi, the def is
set to NEEDS_PHI not NULL, so the last one where the phi node actually
goes never gets filled out.  This can lead to duplicating the phi node
unnecessarily.
src/compiler/nir/nir_phi_builder.c