diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-02-27 22:35:06 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-02-27 22:35:06 +0100 |
commit | e19624ee2a4863da6ec9479252cafcf1ef1e1e78 (patch) | |
tree | 27492f4f83c2fe3ba4c29aacfee938d3a62a7f68 | |
parent | 90e709fd8ea149dacde675363135a0ddea053b09 (diff) | |
download | gcc-e19624ee2a4863da6ec9479252cafcf1ef1e1e78.zip gcc-e19624ee2a4863da6ec9479252cafcf1ef1e1e78.tar.gz gcc-e19624ee2a4863da6ec9479252cafcf1ef1e1e78.tar.bz2 |
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461
* df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
pool_free.
(df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
overwriting it.
From-SVN: r196321
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/df-scan.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8afdf05..aee4e04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2013-02-27 Jakub Jelinek <jakub@redhat.com> PR middle-end/56461 + * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before + pool_free. + (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before + overwriting it. + + PR middle-end/56461 * ipa-cp.c (decide_whether_version_node): Call vec_free on known_aggs[i].items and release known_aggs vector. diff --git a/gcc/df-scan.c b/gcc/df-scan.c index 2928776..931fa2c 100644 --- a/gcc/df-scan.c +++ b/gcc/df-scan.c @@ -1153,6 +1153,7 @@ df_insn_delete (basic_block bb, unsigned int uid) df_ref_chain_delete (insn_info->defs); df_ref_chain_delete (insn_info->uses); df_ref_chain_delete (insn_info->eq_uses); + df_scan_free_mws_vec (insn_info->mw_hardregs); } pool_free (problem_data->insn_pool, insn_info); DF_INSN_UID_SET (uid, NULL); @@ -1332,6 +1333,7 @@ df_insn_rescan_debug_internal (rtx insn) df_ref_chain_delete (insn_info->defs); df_ref_chain_delete (insn_info->uses); df_ref_chain_delete (insn_info->eq_uses); + df_scan_free_mws_vec (insn_info->mw_hardregs); insn_info->defs = df_null_ref_rec; insn_info->uses = df_null_ref_rec; |