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
+2012-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ * 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 <steven@gcc.gnu.org>
* tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
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;
/* 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 <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
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. */
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,
/* 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))
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])