diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e130c9198ebbaa41dbe075fcb830c301e42460a..a1666ee1e1c4430e8f6f8a17f4459284b6e502ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 7793b0b6b0104496a3e28c8071a858acd09df694..61c22e82594452b24a57efd992d3b6dd9311e2e9 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -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: