summaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-13 13:41:46 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-13 13:41:46 +0000
commit505d3633447f0b0a00bc38949e1a324f49c6ffdc (patch)
tree7f37c82fd98256628cfc914574e45cf995c80316 /gcc/tree-loop-distribution.c
parent371edde14169f3db03e58e5de889468f149ad2b4 (diff)
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219528 138bc75d-0d04-0410-961f-82ee72b054a4
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 ecd51fb788a1..904f4e8db60b 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);
}