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:
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user