re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-01 Richard Biener <rguenther@suse.de> PR tree-optimization/71824 * graphite-scop-detection.c (scop_detection::build_scop_breadth): Verify the loops are valid in the merged SESE region. (scop_detection::can_represent_loop_1): Check analyzing the evolution of the number of iterations in the region succeeds. * gcc.dg/graphite/pr71824.c: New testcase. From-SVN: r245081
This commit is contained in:
parent
315405b669
commit
405a740640
@ -1,3 +1,11 @@
|
||||
2017-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/71824
|
||||
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
|
||||
Verify the loops are valid in the merged SESE region.
|
||||
(scop_detection::can_represent_loop_1): Check analyzing the
|
||||
evolution of the number of iterations in the region succeeds.
|
||||
|
||||
2017-01-31 Ian Lance Taylor <iant@golang.org>
|
||||
|
||||
* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
|
||||
|
@ -905,7 +905,9 @@ scop_detection::build_scop_breadth (sese_l s1, loop_p loop)
|
||||
|
||||
sese_l combined = merge_sese (s1, s2);
|
||||
|
||||
if (combined)
|
||||
if (combined
|
||||
&& loop_is_valid_in_scop (loop, combined)
|
||||
&& loop_is_valid_in_scop (loop->next, combined))
|
||||
s1 = combined;
|
||||
else
|
||||
add_scop (s2);
|
||||
@ -931,6 +933,8 @@ scop_detection::can_represent_loop_1 (loop_p loop, sese_l scop)
|
||||
&& niter_desc.control.no_overflow
|
||||
&& (niter = number_of_latch_executions (loop))
|
||||
&& !chrec_contains_undetermined (niter)
|
||||
&& !chrec_contains_undetermined (scalar_evolution_in_region (scop,
|
||||
loop, niter))
|
||||
&& graphite_can_represent_expr (scop, loop, niter);
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2017-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/71824
|
||||
* gcc.dg/graphite/pr71824.c: New testcase.
|
||||
|
||||
2017-01-31 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/79304
|
||||
|
17
gcc/testsuite/gcc.dg/graphite/pr71824.c
Normal file
17
gcc/testsuite/gcc.dg/graphite/pr71824.c
Normal file
@ -0,0 +1,17 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -floop-nest-optimize" } */
|
||||
|
||||
int a, b, d;
|
||||
int **c;
|
||||
int fn1() {
|
||||
while (a)
|
||||
if (d) {
|
||||
int e = -d;
|
||||
for (; b < e; b++)
|
||||
c[b] = &a;
|
||||
} else {
|
||||
for (; b; b++)
|
||||
c[b] = &b;
|
||||
d = 0;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user