re PR rtl-optimization/25224 (ICE in initialize_original_copy_tables)

PR rtl-optimization/25224
	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
	tables.

From-SVN: r108606
This commit is contained in:
Jan Hubicka 2005-12-16 00:52:16 +01:00 committed by Jan Hubicka
parent cb20f7e875
commit 094bb856e6
4 changed files with 34 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2005-12-16 Jan Hubicka <jh@suse.cz>
PR rtl-optimization/25224
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
tables.
2005-12-15 Zdenek Dvorak <dvorakz@suse.cz>
Steven Bosscher <stevenb@suse.de>

View file

@ -1,3 +1,7 @@
2005-12-16 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/combine/pr25224.c: New.
2005-12-15 Joseph S. Myers <joseph@codesourcery.com>
PR other/25028

View file

@ -0,0 +1,20 @@
/* { dg-options "-funswitch-loops" } */
static float rgam;
extern void *jmp(void *);
void drotmg(float d1) {
void *labels[] = { &&L170, &&L180, 0 };
for(;;) {
goto *jmp(labels);
if (d1 <= rgam)
goto L170;
L170:
if (d1 <= rgam)
goto L170;
}
L180:
goto L170;
}

View file

@ -253,7 +253,10 @@ tree_unswitch_single_loop (struct loops *loops, struct loop *loop, int num)
/* Unswitch the loop on this condition. */
nloop = tree_unswitch_loop (loops, loop, bbs[i], cond);
if (!nloop)
return changed;
{
free_original_copy_tables ();
return changed;
}
/* Update the SSA form after unswitching. */
update_ssa (TODO_update_ssa);