diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-10-26 14:43:33 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-10-28 10:48:38 -0400 |
commit | d46aeb5906b8ed7ee255cfbacc5cf9d2f56b850c (patch) | |
tree | cb81f6f5c2ff85d7daea343ad349bf116f6c3401 /gcc/tree-vrp.c | |
parent | f70f17d03630fd948bc15a646ebe7e784125c4d4 (diff) | |
download | gcc-d46aeb5906b8ed7ee255cfbacc5cf9d2f56b850c.zip gcc-d46aeb5906b8ed7ee255cfbacc5cf9d2f56b850c.tar.gz gcc-d46aeb5906b8ed7ee255cfbacc5cf9d2f56b850c.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 38ea503..dc3e250 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 (); } |