re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461 * lra.c (lra): Call lra_clear_live_ranges if live_p, right before calling lra_create_live_ranges, also call it when clearing live_p. Only call lra_clear_live_ranges at the end if live_p. From-SVN: r196468
This commit is contained in:
parent
334e71e822
commit
4ccf8f43ce
@ -1,5 +1,11 @@
|
||||
2013-03-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/56461
|
||||
* lra.c (lra): Call lra_clear_live_ranges if live_p,
|
||||
right before calling lra_create_live_ranges, also call it
|
||||
when clearing live_p. Only call lra_clear_live_ranges
|
||||
at the end if live_p.
|
||||
|
||||
PR middle-end/56461
|
||||
* sched-deps.c (delete_dep_node): Free DEP_REPLACE.
|
||||
|
||||
|
@ -2291,6 +2291,8 @@ lra (FILE *f)
|
||||
/* Do inheritance only for regular algorithms. */
|
||||
if (! lra_simple_p)
|
||||
lra_inheritance ();
|
||||
if (live_p)
|
||||
lra_clear_live_ranges ();
|
||||
/* We need live ranges for lra_assign -- so build them. */
|
||||
lra_create_live_ranges (true);
|
||||
live_p = true;
|
||||
@ -2308,6 +2310,8 @@ lra (FILE *f)
|
||||
live_p = false;
|
||||
if (lra_undo_inheritance ())
|
||||
live_p = false;
|
||||
if (! live_p)
|
||||
lra_clear_live_ranges ();
|
||||
}
|
||||
}
|
||||
bitmap_clear (&lra_optional_reload_pseudos);
|
||||
@ -2334,7 +2338,8 @@ lra (FILE *f)
|
||||
lra_eliminate (true);
|
||||
lra_final_code_change ();
|
||||
lra_in_progress = 0;
|
||||
lra_clear_live_ranges ();
|
||||
if (live_p)
|
||||
lra_clear_live_ranges ();
|
||||
lra_live_ranges_finish ();
|
||||
lra_constraints_finish ();
|
||||
finish_reg_info ();
|
||||
|
Loading…
Reference in New Issue
Block a user