Commit 5d66d3f1 by Richard Biener Committed by Richard Biener

re PR tree-optimization/83238 ([graphite] ICE in graphite_can_represent_scev, at…

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
parent b6ecbf31
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> 2017-12-03 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, * 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 ...@@ -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 which post-dominates dom, until it stabilizes. Also, ENTRY->SRC and
EXIT->DEST should be in the same loop nest. */ EXIT->DEST should be in the same loop nest. */
if (!dominated_by_p (CDI_DOMINATORS, pdom, dom) if (!dominated_by_p (CDI_DOMINATORS, pdom, dom)
|| loop_depth (entry->src->loop_father) || entry->src->loop_father != exit->dest->loop_father)
!= loop_depth (exit->dest->loop_father))
return invalid_sese; return invalid_sese;
/* For now we just bail out when there is a loop exit in the region /* For now we just bail out when there is a loop exit in the region
......
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> 2017-12-04 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr82875.c: Require effective target alloca. * gcc.dg/pr82875.c: Require effective target alloca.
......
/* { 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)
{
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment