OSDN Git Service

PR tree-opt/18544
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Nov 2004 13:41:57 +0000 (13:41 +0000)
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Nov 2004 13:41:57 +0000 (13:41 +0000)
        * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91011 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-vectorizer.c

index 7e130c9..a1666ee 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
+
+       PR tree-opt/18544
+       * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
+
 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
 
        * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
index 7793b0b..61c22e8 100644 (file)
@@ -5057,10 +5057,15 @@ 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) = 
-                    vect_get_base_and_bit_offset (dr, DR_BASE_NAME (dr), NULL_TREE,
-                                                  loop_vinfo, &offset, 
-                                                  &base_aligned_p);
+                 tag = vect_get_base_and_bit_offset (dr, DR_BASE_NAME (dr), 
+                          NULL_TREE, loop_vinfo, &offset, &base_aligned_p);
+                 if (!tag)
+                   {
+                     if (vect_debug_stats (loop) || vect_debug_details (loop))
+                       fprintf (dump_file, "not vectorized: no memtag for ref.");
+                     return false;
+                   }
+                 STMT_VINFO_MEMTAG (stmt_info) = tag; 
                  break;
                  
                case VAR_DECL: