From: jakub Date: Wed, 22 Aug 2012 09:19:39 +0000 (+0000) Subject: * tree-vrp.c (find_assert_locations): Skip also edges X-Git-Tag: upstream/4.9.2~11024 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=706567b85c27236fa11a0937510193e875e4d0f2;p=platform%2Fupstream%2Flinaro-gcc.git * tree-vrp.c (find_assert_locations): Skip also edges from the entry block. * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call free_stmt_vec_info on orig_cond after gsi_removing it. * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always free body_cost_vec vector. (vect_analyze_data_refs): If gather is unsuccessful, free_data_ref (dr). * tree-inline.c (tree_function_versioning): Free old_transforms_to_apply vector. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190590 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 664fd03..88ec752 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2012-08-22 Jakub Jelinek + + * tree-vrp.c (find_assert_locations): Skip also edges + from the entry block. + + * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call + free_stmt_vec_info on orig_cond after gsi_removing it. + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always + free body_cost_vec vector. + (vect_analyze_data_refs): If gather is unsuccessful, + free_data_ref (dr). + * tree-inline.c (tree_function_versioning): Free + old_transforms_to_apply vector. + 2012-08-22 Steven Bosscher * tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index fe46e5d..20d3317 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -5089,6 +5089,7 @@ tree_function_versioning (tree old_decl, tree new_decl, VEC_index (ipa_opt_pass, old_transforms_to_apply, i)); + VEC_free (ipa_opt_pass, heap, old_transforms_to_apply); } id.copy_decl = copy_decl_no_change; diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 4df2e50..4a5624e 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -1,5 +1,5 @@ /* Data References Analysis and Manipulation Utilities for Vectorization. - Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Dorit Naishlos and Ira Rosen @@ -1934,10 +1934,9 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) gcc_assert (stat); return stat; } - else - VEC_free (stmt_info_for_cost, heap, body_cost_vec); } + VEC_free (stmt_info_for_cost, heap, body_cost_vec); /* (2) Versioning to force alignment. */ @@ -3313,6 +3312,8 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo, gather = false; if (!gather) { + STMT_VINFO_DATA_REF (stmt_info) = NULL; + free_data_ref (dr); if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS)) { fprintf (vect_dump, diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index bdf3fd2..4df4800 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -788,6 +788,7 @@ slpeel_make_loop_iterate_ntimes (struct loop *loop, tree niters) /* Remove old loop exit test: */ gsi_remove (&loop_cond_gsi, true); + free_stmt_vec_info (orig_cond); loop_loc = find_loop_location (loop); if (dump_file && (dump_flags & TDF_DETAILS)) diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index f0d68eb..0aa1dc7 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -5596,7 +5596,7 @@ find_assert_locations (void) FOR_EACH_EDGE (e, ei, bb->preds) { int pred = e->src->index; - if (e->flags & EDGE_DFS_BACK) + if ((e->flags & EDGE_DFS_BACK) || pred == ENTRY_BLOCK) continue; if (!live[pred])