From 322ae40b1abb7b60b724c6ecc7bcb8afc4a35be4 Mon Sep 17 00:00:00 2001 From: Ira Rosen Date: Thu, 14 Oct 2004 16:39:07 +0000 Subject: [PATCH] tree-vectorizer.c (vect_analyze_data_refs): Call vect_get_base_and_bit_offset to get memory tag for array ref. 2004-10-14 Ira Rosen * tree-vectorizer.c (vect_analyze_data_refs): Call vect_get_base_and_bit_offset to get memory tag for array ref. (vect_create_addr_base_for_vector_ref): Remove redundant checks. From-SVN: r89038 --- gcc/ChangeLog | 6 ++++++ gcc/tree-vectorizer.c | 12 +++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd3faca6497c..d38d84d071d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-10-14 Ira Rosen + + * tree-vectorizer.c (vect_analyze_data_refs): Call + vect_get_base_and_bit_offset to get memory tag for array ref. + (vect_create_addr_base_for_vector_ref): Remove redundant checks. + 2004-10-14 Richard Earnshaw * configure.ac: Use $LN_S for creating symlinks (not $LN). diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index dc93116303a2..382139f4e357 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -750,10 +750,7 @@ vect_create_addr_base_for_vector_ref (tree stmt, is_ptr_ref = TREE_CODE (data_ref_base_type) == POINTER_TYPE && TREE_CODE (data_ref_base) == SSA_NAME; - is_array_ref = TREE_CODE (data_ref_base_type) == ARRAY_TYPE - && (TREE_CODE (data_ref_base) == VAR_DECL - || TREE_CODE (data_ref_base) == COMPONENT_REF - || TREE_CODE (data_ref_base) == ARRAY_REF); + is_array_ref = TREE_CODE (data_ref_base_type) == ARRAY_TYPE; is_addr_expr = TREE_CODE (data_ref_base) == ADDR_EXPR || TREE_CODE (data_ref_base) == PLUS_EXPR || TREE_CODE (data_ref_base) == MINUS_EXPR; @@ -3456,6 +3453,8 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo) struct data_reference *dr; tree tag; tree address_base; + bool base_aligned_p; + tree offset; if (vect_debug_details (NULL)) fprintf (dump_file, "\n<>\n"); @@ -3565,7 +3564,10 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo) { case ARRAY_REF: dr = analyze_array (stmt, TREE_OPERAND (symbl, 0), DR_IS_READ(dr)); - STMT_VINFO_MEMTAG (stmt_info) = DR_BASE_NAME (dr); + STMT_VINFO_MEMTAG (stmt_info) = + vect_get_base_and_bit_offset (dr, DR_BASE_NAME (dr), NULL_TREE, + loop_vinfo, &offset, + &base_aligned_p); break; case VAR_DECL: