History log of /external/mesa3d/src/compiler/nir/nir_phi_builder.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67a70889f61a374bc535286d12117780e9fbc0c3 15-Dec-2016 Jason Ekstrand <jason.ekstrand@intel.com> 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.
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
3bf6c6c3adb8e5dc2488fda93aa7dde3ca256b34 11-Oct-2016 Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> nir: zero allocated memory where needed

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
78715c7211aa81a1b189c3a29df4b2b98d2e0fc3 25-Aug-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir/phi_builder: Don't recurse in value_get_block_def

In some programs, we can have very deep dominance trees and the recursion
can cause us to risk stack overflows. Instead, we replace the recursion
with a pair of loops, one at the start and one at the end. This is
functionally equivalent to what we had before and it's actually a bit
easier to read in the new form without the recursion.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97225
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
e5f37701ab6300c64e02d1c527ccc30fbda32fd3 12-Apr-2016 Connor Abbott <cwabbott0@gmail.com> nir/phi_builder: fixup for new foreach_block()

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
b6dc940ec273252678d40707d300851fa1c85ea5 13-Apr-2016 Connor Abbott <cwabbott0@gmail.com> nir: rename nir_foreach_block*() to nir_foreach_block*_call()

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
e3edaec739a72a36d54b60ddf5c952d377324f00 23-Mar-2016 Samuel Iglesias Gonsálvez <siglesias@igalia.com> nir: add bit_size info to nir_ssa_undef_instr_create()

v2:
- Make the users to give the right bit_sizes as arguments (Jason).

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c
e4dc82cfcffd9c3472b962b6bd7328788926452d 13-Feb-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir: Add a phi node placement helper

Right now, we have phi placement code in two places and there are other
places where it would be nice to be able to do this analysis. Instead of
repeating it all over the place, this commit adds a helper for placing all
of the needed phi nodes for a value.

v2: Add better documentation

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
/external/mesa3d/src/compiler/nir/nir_phi_builder.c