summaryrefslogtreecommitdiffstats
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-10 14:52:01 +0000
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-10 14:52:01 +0000
commitf1168a33ea9e7b76302a94ca8a02ba3fa745c73c (patch)
tree57c8ef6636055daf9e83a4e162b8bca978e69d33 /gcc/tree-vectorizer.c
parent0bee98069ef8e9d309875d052dd991044a9f2ff3 (diff)
downloadppe42-gcc-f1168a33ea9e7b76302a94ca8a02ba3fa745c73c.tar.gz
ppe42-gcc-f1168a33ea9e7b76302a94ca8a02ba3fa745c73c.zip
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
dependence-distance modulo VF is 0 are recorded in the SAME_ALIGN_REFs VEC in each DR. (vect_enhance_data_refs_alignment): Avoid 80 column overflow. The alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the DR we want to peel for, is set to 0. * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout. * tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs VEC. * tree-vectorizer.h (dr_p): New type. Defined to use the VEC API. (_stmt_vec_info): Added new field same_align_refs. (STMT_VINFO_SAME_ALIGN_REFS): New macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100817 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 53f5358194e..c6002c446ff 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -1457,10 +1457,14 @@ destroy_loop_vec_info (loop_vec_info loop_vinfo)
{
tree stmt = bsi_stmt (si);
stmt_ann_t ann = stmt_ann (stmt);
-
stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
- free (stmt_info);
- set_stmt_info ((tree_ann_t)ann, NULL);
+
+ if (stmt_info)
+ {
+ VEC_free (dr_p, heap, STMT_VINFO_SAME_ALIGN_REFS (stmt_info));
+ free (stmt_info);
+ set_stmt_info ((tree_ann_t)ann, NULL);
+ }
}
}
OpenPOWER on IntegriCloud