History log of /external/mesa3d/src/compiler/nir/nir_lower_returns.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f20ba7ad4476013a6a322a8d562f38bc6c4e2370 09-Dec-2016 Timothy Arceri <timothy.arceri@collabora.com> nir: update nir_lower_returns to only predicate instructions when needed

Unless an if statement contains nested returns we can simply add
any following instructions to the branch without the return.

V2: fix handling if_nested_return value when there is a sibling if/loop
that doesn't contain a return. (Spotted by Ken)

V3:
- add a better comment to the new variable
- remove instructions after if when both branches return

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/compiler/nir/nir_lower_returns.c
257aa5a1c4a2284ffd43759daa405fc135a40094 20-Jul-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir/lower_returns: Stop using constant initializers

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/compiler/nir/nir_lower_returns.c
9464d8c49813aba77285e7465b96e92a91ed327c 27-Apr-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir: Switch the arguments to nir_foreach_function

This matches the "foreach x in container" pattern found in many other
programming languages. Generated by the following regular expression:

s/nir_foreach_function(\([^,]*\),\s*\([^,]*\))/nir_foreach_function(\2, \1)/

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/compiler/nir/nir_lower_returns.c
79dec93ead6e3b95b1240a9d843d617a88ee9179 14-Feb-2016 Jason Ekstrand <jason.ekstrand@intel.com> nir: Add return lowering pass

This commit adds a NIR pass for lowering away returns in functions. If the
return is in a loop, it is lowered to a break. If it is not in a loop,
it's lowered away by moving/deleting code as needed.

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