mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
96bb56b2d7
commit
d0ed943ca4
|
|
@ -1,3 +1,9 @@
|
||||||
|
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.
|
||||||
|
|
||||||
2015-01-13 Richard Biener <rguenther@suse.de>
|
2015-01-13 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/64404
|
PR tree-optimization/64404
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2015-01-13 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/64406
|
||||||
|
* gcc.dg/pr64406.c: New testcase.
|
||||||
|
|
||||||
2015-01-13 Richard Biener <rguenther@suse.de>
|
2015-01-13 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/64404
|
PR tree-optimization/64404
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O -ftree-loop-distribute-patterns -fno-tree-loop-ivcanon -fno-tree-loop-vectorize -ftree-vectorize" } */
|
||||||
|
|
||||||
|
unsigned in[72];
|
||||||
|
|
||||||
|
void bar (unsigned out[], unsigned ia[]);
|
||||||
|
|
||||||
|
void
|
||||||
|
foo ()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
unsigned out[72], ia[8];
|
||||||
|
for (i = 0; i < 8; i++)
|
||||||
|
{
|
||||||
|
out[i * 8] = in[i * 8] + 5;
|
||||||
|
out[i * 8 + 1] = in[i * 8 + 1] + 6;
|
||||||
|
out[i * 8 + 2] = in[i * 8 + 2] + 7;
|
||||||
|
out[i * 8 + 3] = in[i * 8 + 3] + 8;
|
||||||
|
out[i * 8 + 4] = in[i * 8 + 4] + 9;
|
||||||
|
out[i * 8 + 5] = in[i * 8 + 5] + 10;
|
||||||
|
out[i * 8 + 6] = in[i * 8 + 6] + 11;
|
||||||
|
out[i * 8 + 7] = in[i * 8 + 7] + 12;
|
||||||
|
ia[i] = in[i];
|
||||||
|
}
|
||||||
|
bar (out, ia);
|
||||||
|
}
|
||||||
|
|
@ -1838,6 +1838,9 @@ out:
|
||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
|
/* Cached scalar evolutions now may refer to wrong or non-existing
|
||||||
|
loops. */
|
||||||
|
scev_reset_htab ();
|
||||||
mark_virtual_operands_for_renaming (fun);
|
mark_virtual_operands_for_renaming (fun);
|
||||||
rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
|
rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue