aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIra Rosen <irar@il.ibm.com>2004-10-14 16:39:07 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2004-10-14 16:39:07 +0000
commit322ae40b1abb7b60b724c6ecc7bcb8afc4a35be4 (patch)
tree8b9c70d4b1fcfe94a589397b404459bfaafe17cf /gcc
parent180a373d0d5d4534d7393b1ad5537d9f9ab7e79e (diff)
downloadgcc-322ae40b1abb7b60b724c6ecc7bcb8afc4a35be4.zip
gcc-322ae40b1abb7b60b724c6ecc7bcb8afc4a35be4.tar.gz
gcc-322ae40b1abb7b60b724c6ecc7bcb8afc4a35be4.tar.bz2
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 <irar@il.ibm.com> * 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vectorizer.c12
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd3faca..d38d84d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-14 Ira Rosen <irar@il.ibm.com>
+
+ * 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 <rearnsha@arm.com>
* configure.ac: Use $LN_S for creating symlinks (not $LN).
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index dc93116..382139f 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<<vect_analyze_data_refs>>\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: