aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-11-22 08:47:47 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-11-22 08:47:47 +0000
commit8f8e53262b59836866fee7e4381117fcf6dc7b38 (patch)
treef218cf54abd1212cc2bd5811493ef7a76cb39d4d /gcc/tree-if-conv.c
parentce143aa6e3d1d8dee4dad9cfd71774c5c3b9511b (diff)
re PR tree-optimization/83089 (ICE: Segmentation fault (in instantiate_scev_name))
2017-11-22 Richard Biener <rguenther@suse.de> PR tree-optimization/83089 * tree-if-conv.c (pass_if_conversion::execute): If anything changed reset SCEV and free the number of iteration estimates. * gcc.dg/pr83089.c: New testcase. From-SVN: r255044
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index c74c80305f9..37695c2cafe 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -2959,6 +2959,12 @@ pass_if_conversion::execute (function *fun)
&& !loop->dont_vectorize))
todo |= tree_if_conversion (loop);
+ if (todo)
+ {
+ free_numbers_of_iterations_estimates (fun);
+ scev_reset ();
+ }
+
if (flag_checking)
{
basic_block bb;