summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-08-31 16:35:21 -0700
committerJason Ekstrand <[email protected]>2016-09-02 11:24:09 -0700
commit9a4d76e534920a54c28092311ab6da90c6d7b8d3 (patch)
tree20c4b85088b50f54518626ea57be4e38fc96273b
parentea7b47596824fd38bd9ad25e49626d8a7d821806 (diff)
nir/dead_cf: Don't crash on unreachable after-loop blocks
Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Connor Abbott <[email protected]>
-rw-r--r--src/compiler/nir/nir_opt_dead_cf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/nir/nir_opt_dead_cf.c b/src/compiler/nir/nir_opt_dead_cf.c
index 35511246495..1490e6832a2 100644
--- a/src/compiler/nir/nir_opt_dead_cf.c
+++ b/src/compiler/nir/nir_opt_dead_cf.c
@@ -205,7 +205,8 @@ loop_is_dead(nir_loop *loop)
nir_metadata_require(impl, nir_metadata_live_ssa_defs |
nir_metadata_dominance);
- for (nir_block *cur = after->imm_dom; cur != before; cur = cur->imm_dom) {
+ for (nir_block *cur = after->imm_dom; cur && cur != before;
+ cur = cur->imm_dom) {
nir_foreach_instr(instr, cur) {
if (!nir_foreach_ssa_def(instr, def_not_live_out, after))
return false;