tree-vectorizer.c (vect_analyze_data_refs): Call vect_get_base_and_bit_offset to...
authorIra Rosen <irar@il.ibm.com>
Thu, 14 Oct 2004 16:39:07 +0000 (16:39 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Thu, 14 Oct 2004 16:39:07 +0000 (16:39 +0000)
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

gcc/ChangeLog
gcc/tree-vectorizer.c

index bd3faca6497c5d6852581c8f52f21ef24685a343..d38d84d071d3a1e35f12412b555b051394737aa3 100644 (file)
@@ -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).
index dc93116303a20eca82d86945e65411fc9df6d70a..382139f4e357534f03c28098fb78eaf7fe9621de 100644 (file)
@@ -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: