Commit 892d6169 by Richard Biener Committed by Richard Biener

re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644…

re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644 (error: loop 1's latch does not have an edge to its header))

2017-05-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/80876
	* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.

	* gcc.dg/torture/pr80876.c: New testcase.

From-SVN: r248633
parent 63523736
2017-05-30 Richard Biener <rguenther@suse.de>
PR middle-end/80876
* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.
2017-05-30 Martin Liska <mliska@suse.cz>
* dumpfile.c: Use newly added macro DUMP_FILE_INFO.
......
......@@ -2504,9 +2504,9 @@ expand_gimple_cond (basic_block bb, gcond *stmt)
new_bb->count = false_edge->count;
new_bb->frequency = EDGE_FREQUENCY (false_edge);
add_bb_to_loop (new_bb, dest->loop_father);
if (bb->loop_father->latch == bb
&& bb->loop_father->header == dest)
bb->loop_father->latch = new_bb;
if (dest->loop_father->latch == bb
&& dest->loop_father->header == dest)
dest->loop_father->latch = new_bb;
new_edge = make_edge (new_bb, dest, 0);
new_edge->probability = REG_BR_PROB_BASE;
new_edge->count = new_bb->count;
......
2017-05-30 Richard Biener <rguenther@suse.de>
PR middle-end/80876
* gcc.dg/torture/pr80876.c: New testcase.
2017-05-29 Nathan Sidwell <nathan@acm.org>
PR c++/80891 (#5)
......
/* { dg-do compile } */
int sy;
void
fo (char o5)
{
char yh = 0;
if (o5 == 0)
return;
while (o5 != 0)
if (0)
{
while (yh != 0)
{
o5 = 0;
while (o5 < 2)
{
sy &= yh;
if (sy != 0)
{
km:
sy = yh;
}
}
++yh;
}
}
else
{
o5 = sy;
goto km;
}
}
void
on (void)
{
fo (sy);
}
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