From: Andrew MacLeod Date: Tue, 26 Oct 2021 18:43:33 +0000 (-0400) Subject: Reset scev before invoking array_checker. X-Git-Tag: basepoints/gcc-13~3540 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d46aeb5906b8ed7ee255cfbacc5cf9d2f56b850c;p=thirdparty%2Fgcc.git Reset scev before invoking array_checker. Before invoking the array_checker, we need to reset scev so it will not try to access any ssa_names that the substitute and fold engine has freed. PR tree-optimization/102940 * tree-vrp.c (execute_ranger_vrp): Reset scev. --- diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 38ea50303e0d..dc3e250537ad 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -4351,7 +4351,6 @@ execute_ranger_vrp (struct function *fun, bool warn_array_bounds_p) if (dump_file && (dump_flags & TDF_DETAILS)) ranger->dump (dump_file); - if (warn_array_bounds && warn_array_bounds_p) { // Set all edges as executable, except those ranger says aren't. @@ -4367,6 +4366,7 @@ execute_ranger_vrp (struct function *fun, bool warn_array_bounds_p) else e->flags |= EDGE_EXECUTABLE; } + scev_reset (); array_bounds_checker array_checker (fun, ranger); array_checker.check (); }