[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Anoter testcase that ICEs even with -O2 -fopenmp:
/* { dg-do compile } */
/* { dg-options -O2 -fopenmp } */

void bar (int, int);
void
foo (int *a)
{
  int i;
  for (i = 0; i  8; i++)
#pragma omp task
if (a[i])
  {
int j, k;
for (j = 0; j  10; j++)
  for (k = 0; k  8; k++)
bar (j, k);
for (k = 0; k  12; k++)
  bar (-1, k);
__builtin_abort ();
  }
}


[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-09-27
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 30907
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30907action=edit
gcc49-pr58551.patch

Untested fix.


[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #30907|0   |1
is obsolete||

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 30909
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30909action=edit
gcc49-pr58551.patch

Updated untested patch that should also fix num_nodes adjustments.


[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Sep 27 13:44:10 2013
New Revision: 202972

URL: http://gcc.gnu.org/viewcvs?rev=202972root=gccview=rev
Log:
PR middle-end/58551
* tree-cfg.c (move_sese_region_to_fn): Also move loops that
are children of outermost saved_cfun's loop, and set it up to
be moved to dest_cfun's outermost loop.  Fix up num_nodes adjustments
if loop != loop0 and SESE region contains bbs that belong to loop0.

* c-c++-common/gomp/pr58551.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr58551.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c


[Bug middle-end/58551] [4.9 Regression] ICE with abort in OpenMP SESE region inside of some loop

2013-09-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58551

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.