aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-01-13 13:41:46 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-01-13 13:41:46 +0000
commitd0ed943ca48801dabdac2a70c974de074181c70b (patch)
tree7f37c82fd98256628cfc914574e45cf995c80316 /gcc/tree-loop-distribution.c
parent96bb56b2d7ee386b29596c59d61b73c5d5d3b7cc (diff)
downloadgcc-d0ed943ca48801dabdac2a70c974de074181c70b.zip
gcc-d0ed943ca48801dabdac2a70c974de074181c70b.tar.gz
gcc-d0ed943ca48801dabdac2a70c974de074181c70b.tar.bz2
re PR tree-optimization/64406 (ICE: SIGSEGV in estimate_numbers_of_iterations_loop (tree-ssa-loop-niter.c:3453) with custom flags)
2015-01-13 Richard Biener <rguenther@suse.de> PR tree-optimization/64406 * tree-loop-distibution.c (pass_loop_distribution::execute): Reset the SCEV hashtable if we distributed anything. * gcc.dg/pr64406.c: New testcase. From-SVN: r219528
Diffstat (limited to 'gcc/tree-loop-distribution.c')
-rw-r--r--gcc/tree-loop-distribution.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index ecd51fb..904f4e8 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1838,6 +1838,9 @@ out:
if (changed)
{
+ /* Cached scalar evolutions now may refer to wrong or non-existing
+ loops. */
+ scev_reset_htab ();
mark_virtual_operands_for_renaming (fun);
rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
}