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:
parent
cb20f7e875
commit
094bb856e6
4 changed files with 34 additions and 1 deletions
|
@ -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
|
||||
|
|
20
gcc/testsuite/gcc.c-torture/compile/pr25224.c
Normal file
20
gcc/testsuite/gcc.c-torture/compile/pr25224.c
Normal 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;
|
||||
}
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue