aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2015-11-27 09:37:23 +0100
committerMartin Liska <marxin@gcc.gnu.org>2015-11-27 08:37:23 +0000
commit5cd366f386830aa300e288086463545924d6f727 (patch)
treed765aae031b914d38028177de2bf54564385c7f0 /gcc
parented37a6cf23d416505804b67438129856f5717c93 (diff)
downloadgcc-5cd366f386830aa300e288086463545924d6f727.zip
gcc-5cd366f386830aa300e288086463545924d6f727.tar.gz
gcc-5cd366f386830aa300e288086463545924d6f727.tar.bz2
Fix memory leak in loop_vec_info
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Do not release memory for comp_alias_ddrs. * tree-vect-loop.c (destroy_loop_vec_info): Release the memory for all loop_vec_info. From-SVN: r230995
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-vect-loop-manip.c2
-rw-r--r--gcc/tree-vect-loop.c1
3 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cdb47f9..f83062c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2015-11-27 Martin Liska <mliska@suse.cz>
+ * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
+ Do not release memory for comp_alias_ddrs.
+ * tree-vect-loop.c (destroy_loop_vec_info): Release
+ the memory for all loop_vec_info.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
* ipa-devirt.c (ipa_devirt): Use auto_vec instead
of a local-scope vec.
(struct final_warning_record): Use auto_vec instead
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index c96e196..226b88f 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -2284,8 +2284,6 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo, tree * cond_expr)
dump_printf_loc (MSG_NOTE, vect_location,
"created %u versioning for alias checks.\n",
comp_alias_ddrs.length ());
-
- comp_alias_ddrs.release ();
}
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 7fb16f5..6719c9a 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -1180,6 +1180,7 @@ destroy_loop_vec_info (loop_vec_info loop_vinfo, bool clean_stmts)
free_dependence_relations (LOOP_VINFO_DDRS (loop_vinfo));
LOOP_VINFO_LOOP_NEST (loop_vinfo).release ();
LOOP_VINFO_MAY_MISALIGN_STMTS (loop_vinfo).release ();
+ LOOP_VINFO_COMP_ALIAS_DDRS (loop_vinfo).release ();
LOOP_VINFO_MAY_ALIAS_DDRS (loop_vinfo).release ();
slp_instances = LOOP_VINFO_SLP_INSTANCES (loop_vinfo);
FOR_EACH_VEC_ELT (slp_instances, j, instance)