nir: fix NIR_DEBUG=validate_ssa_dominance
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 5 Oct 2022 10:08:56 +0000 (13:08 +0300)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 14 Oct 2022 07:36:56 +0000 (10:36 +0300)
validate_ssa_def_dominance() asserts :

   validate_assert(state, !BITSET_TEST(state->ssa_defs_found, def->index));

Because the previous validation lefts bits set when it processed the
IR.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18966>

src/compiler/nir/nir_validate.c

index 530f069..c5a9fb6 100644 (file)
@@ -1694,8 +1694,11 @@ validate_function_impl(nir_function_impl *impl, validate_state *state)
       validate_dominance =
          NIR_DEBUG(VALIDATE_SSA_DOMINANCE);
    }
-   if (validate_dominance)
+   if (validate_dominance) {
+      memset(state->ssa_defs_found, 0, BITSET_WORDS(impl->ssa_alloc) *
+                                       sizeof(BITSET_WORD));
       validate_ssa_dominance(impl, state);
+   }
 }
 
 static void