gcse.c (eliminate_partially_redundant_loads): Instead of returning early, goto a cleanup label.
2004-05-10 Andrew Pinski <pinskia@physics.uc.edu> * gcse.c (eliminate_partially_redundant_loads): Instead of returning early, goto a cleanup label. After the cleanup, free the allocated memory. From-SVN: r81682
This commit is contained in:
parent
16cfa3dc57
commit
0c196bf9d8
@ -1,3 +1,8 @@
|
||||
2004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
* gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
|
||||
goto a cleanup label. After the cleanup, free the allocated memory.
|
||||
|
||||
2004-05-10 Ziemowit Laski <zlaski@apple.com>
|
||||
|
||||
* config/rs6000/altivec.h (vec_sld): Add overloads for
|
||||
|
22
gcc/gcse.c
22
gcc/gcse.c
@ -8401,14 +8401,14 @@ eliminate_partially_redundant_loads (basic_block bb, rtx insn,
|
||||
|
||||
if (npred_ok == 0 /* No load can be replaced by copy. */
|
||||
|| (optimize_size && npred_ok > 1)) /* Prevent exploding the code. */
|
||||
return;
|
||||
goto cleanup;
|
||||
|
||||
/* Check if it's worth applying the partial redundancy elimination. */
|
||||
if (ok_count < GCSE_AFTER_RELOAD_PARTIAL_FRACTION * not_ok_count)
|
||||
return;
|
||||
goto cleanup;
|
||||
|
||||
if (ok_count < GCSE_AFTER_RELOAD_CRITICAL_FRACTION * critical_count)
|
||||
return;
|
||||
goto cleanup;
|
||||
|
||||
/* Generate moves to the loaded register from where
|
||||
the memory is available. */
|
||||
@ -8461,6 +8461,22 @@ eliminate_partially_redundant_loads (basic_block bb, rtx insn,
|
||||
delete_insn (insn);
|
||||
else
|
||||
a_occr->deleted_p = 1;
|
||||
|
||||
cleanup:
|
||||
|
||||
while (unavail_occrs)
|
||||
{
|
||||
struct unoccr *temp = unavail_occrs->next;
|
||||
free (unavail_occrs);
|
||||
unavail_occrs = temp;
|
||||
}
|
||||
|
||||
while (avail_occrs)
|
||||
{
|
||||
struct unoccr *temp = avail_occrs->next;
|
||||
free (avail_occrs);
|
||||
avail_occrs = temp;
|
||||
}
|
||||
}
|
||||
|
||||
/* Performing the redundancy elimination as described before. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user