Commit dc14f191 by Zdenek Dvorak Committed by Zdenek Dvorak

re PR rtl-optimization/27735 (ICE at -O3 caused by loop unswitching)

	PR rtl-optimization/27735
	* cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
	Add new argument to keep track of whether an irreducible region
	was affected.  All callers changed.
	(fix_irreducible_loops): Removed.
	(remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
	flags were invalidated.

	* gcc.dg/loop-unswitch-1.c: New test.

From-SVN: r116582
parent b0d3a6ae
2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/27735
* cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
Add new argument to keep track of whether an irreducible region
was affected. All callers changed.
(fix_irreducible_loops): Removed.
(remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
flags were invalidated.
2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
......
2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/27735
* gcc.dg/loop-unswitch-1.c: New test.
2006-08-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/28885
/* For PR rtl-optimization/27735 */
/* { dg-do compile } */
/* { dg-options "-O2 -funswitch-loops" } */
void set_color(void);
void xml_colorize_line(unsigned int *p, int state)
{
int c;
switch(state)
{
case 1:
goto parse_tag;
case 2:
goto parse_comment;
}
for(;;)
{
c = *p;
if (c == '<' && state == 0)
{
parse_comment: ;
while (*p != '\n')
state = 3;
parse_tag: ;
while (*p != '\n')
state = 0;
set_color();
}
else
p++;
}
}
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