mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/83238 ([graphite] ICE in graphite_can_represent_scev, at graphite-scop-detection.c:971)
2017-12-04 Richard Biener <rguenther@suse.de> PR tree-optimization/83238 * graphite-scop-detection.c (scop_detection::merge_sese): Make code match comment, rejecting invalid SESE regions. * gcc.dg/graphite/pr83238.c: New testcase. From-SVN: r255375
This commit is contained in:
parent
b6ecbf313b
commit
5d66d3f151
|
|
@ -1,3 +1,9 @@
|
|||
2017-12-04 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/83238
|
||||
* graphite-scop-detection.c (scop_detection::merge_sese): Make
|
||||
code match comment, rejecting invalid SESE regions.
|
||||
|
||||
2017-12-03 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
|
||||
|
|
|
|||
|
|
@ -570,8 +570,7 @@ scop_detection::merge_sese (sese_l first, sese_l second) const
|
|||
which post-dominates dom, until it stabilizes. Also, ENTRY->SRC and
|
||||
EXIT->DEST should be in the same loop nest. */
|
||||
if (!dominated_by_p (CDI_DOMINATORS, pdom, dom)
|
||||
|| loop_depth (entry->src->loop_father)
|
||||
!= loop_depth (exit->dest->loop_father))
|
||||
|| entry->src->loop_father != exit->dest->loop_father)
|
||||
return invalid_sese;
|
||||
|
||||
/* For now we just bail out when there is a loop exit in the region
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2017-12-04 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/83238
|
||||
* gcc.dg/graphite/pr83238.c: New testcase.
|
||||
|
||||
2017-12-04 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* gcc.dg/pr82875.c: Require effective target alloca.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -floop-parallelize-all" } */
|
||||
|
||||
void
|
||||
vw (int *dk, int zd, int jb)
|
||||
{
|
||||
int sq;
|
||||
int *kv = &sq;
|
||||
|
||||
for (sq = 0; sq < 2; ++sq)
|
||||
{
|
||||
int u1;
|
||||
|
||||
for (u1 = 0; u1 < 5; ++u1)
|
||||
if (zd == 0)
|
||||
return;
|
||||
}
|
||||
|
||||
for (;;)
|
||||
{
|
||||
++zd;
|
||||
if (zd == 0)
|
||||
while (jb != 0)
|
||||
kv = &jb;
|
||||
|
||||
while (*dk < 1)
|
||||
{
|
||||
for (jb = 0; jb < 2; ++jb)
|
||||
{
|
||||
}
|
||||
++*dk;
|
||||
}
|
||||
|
||||
for (*kv = 0; *kv < 2; ++*kv)
|
||||
for (*dk = 0; *dk < 2; ++*dk)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue