isl_tab_pip.c: find_context_div: use isl_basic_map_div_expr_involves_vars
authorSven Verdoolaege <sven@cerebras.net>
Mon, 13 Feb 2023 13:07:32 +0000 (13 14:07 +0100)
committerSven Verdoolaege <sven@cerebras.net>
Sat, 30 Mar 2024 11:51:28 +0000 (30 12:51 +0100)
This reduces the dependence on the internal representation.

Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
isl_tab_pip.c

index 626b314..b1b333a 100644 (file)
@@ -4360,15 +4360,18 @@ static isl_size find_context_div(__isl_keep isl_basic_map *bmap,
                return n_div;
 
        for (i = 0; i < n_div; ++i) {
-               isl_bool unknown;
+               isl_bool unknown, involves;
 
                unknown = isl_basic_map_div_is_marked_unknown(bmap, i);
                if (unknown < 0)
                        return isl_size_error;
                if (unknown)
                        continue;
-               if (isl_seq_first_non_zero(bmap->div[i] + 2 + d_v_div,
-                                          (b_v_div - d_v_div) + n_div) != -1)
+               involves = isl_basic_map_div_expr_involves_vars(bmap, i,
+                                       d_v_div, (b_v_div - d_v_div) + n_div);
+               if (involves < 0)
+                       return isl_size_error;
+               if (involves)
                        continue;
                if (isl_seq_eq(bmap->div[i], dom->div[div], 2 + d_v_div))
                        return i;