[Bug tree-optimization/79977] [6/7 Regression] [graphite] ICE in outermost_loop_in_sese, at sese.c:300 w/ -O2 -floop-nest-optimize

2017-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79977

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #2 from Richard Biener  ---
The region in question is not single-exit.  merge_sese has

  basic_block pdom = nearest_common_dominator (CDI_POST_DOMINATORS,
   get_exit_bb (first),
   get_exit_bb (second));
  pdom = nearest_common_dominator (CDI_POST_DOMINATORS, dom, pdom);

  edge exit = get_nearest_pdom_with_single_exit (pdom);

  if (!exit || (exit->flags & EDGE_IRREDUCIBLE_LOOP))
return invalid_sese;

but that doesn't catch the case where we have a loop exit to an outer loop
latch.

I have a patch.

[Bug tree-optimization/79977] [6/7 Regression] [graphite] ICE in outermost_loop_in_sese, at sese.c:300 w/ -O2 -floop-nest-optimize

2017-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79977

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |6.4

[Bug tree-optimization/79977] [6/7 Regression] [graphite] ICE in outermost_loop_in_sese, at sese.c:300 w/ -O2 -floop-nest-optimize

2017-03-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79977

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-09
 CC||marxin at gcc dot gnu.org
  Known to work||5.4.0
Summary|[7 Regression] [graphite]   |[6/7 Regression] [graphite]
   |ICE in  |ICE in
   |outermost_loop_in_sese, at  |outermost_loop_in_sese, at
   |sese.c:300 w/ -O2   |sese.c:300 w/ -O2
   |-floop-nest-optimize|-floop-nest-optimize
 Ever confirmed|0   |1
  Known to fail||6.3.0, 7.0

--- Comment #1 from Martin Liška  ---
Confirmed, started with r228215.