mesa/src/compiler
Jason Ekstrand c832820ce9 nir/dead_cf: Repair SSA if the pass makes progress
The dead_cf pass calls into the CF manipulation helpers which attempt to
keep NIR's SSA form sane.  However, when the only break is removed from
a loop, dominance gets messed up anyway because the CF SSA clean-up code
only looks at phis and doesn't consider the case of code becoming
unreachable.  One solution to this would be to put the loop into LCSSA
form before we modify any of its contents.  Another (and the approach
taken by this pass) is to just run the repair_ssa pass afterwards
because the CF manipulation helpers are smart enough to keep all the
use/def stuff sane; they just don't always preserve dominance
properties.

While we're here, we clean up some bogus indentation.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111405
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111069
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
2019-09-06 23:39:01 +00:00
..
glsl glsl: Fix unroll of do{} while(false) like loops 2019-09-06 10:27:33 +00:00
nir nir/dead_cf: Repair SSA if the pass makes progress 2019-09-06 23:39:01 +00:00
spirv nir: Add explicit signs to image min/max intrinsics 2019-08-21 17:19:55 +00:00
Android.glsl.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.glsl.mk
Android.mk
Android.nir.gen.mk nir: Add missing dependency in Android.nir.gen.mk 2019-08-19 09:53:18 +03:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
blob.c compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
blob.h compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp compiler: ensure glsl types are not created without a reference 2019-08-21 09:44:10 +02:00
glsl_types.h nir: add nir_lower_to_explicit() 2019-08-08 12:10:39 -05:00
Makefile.sources nir: Carve out nir_lower_samplers from GLSL code. 2019-09-06 12:20:20 +03:00
meson.build meson: drop unused dep_{thread,dl} 2019-08-03 00:08:37 +00:00
nir_types.cpp nir: add nir_lower_to_explicit() 2019-08-08 12:10:39 -05:00
nir_types.h nir: add nir_lower_to_explicit() 2019-08-08 12:10:39 -05:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl scons: Generate float64_glsl.h for glsl_to_nir fp64 lowering 2019-03-02 14:33:44 -08:00
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c glsl: Optionally declare gl_PointCoord as a system value 2019-07-18 13:20:39 +00:00
shader_enums.h nir/lower_io_to_vector: allow FS outputs to be vectorized 2019-09-06 15:38:04 +00:00
shader_info.h compiler: add shader_info.cs.user_data_components_amd 2019-08-12 14:52:17 -04:00