diff options
author | Dorit Naishlos <dorit@il.ibm.com> | 2004-11-22 13:41:57 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2004-11-22 13:41:57 +0000 |
commit | 2fa2d802da69601c9945dbb988aa29e5567bd8d5 (patch) | |
tree | ebe95a30cedf7676f2ce0a09da0fd04aa5d65946 /gcc/tree-vectorizer.c | |
parent | b94d4fe027fdcba6d1ffb48fb9b07e3b11de2670 (diff) | |
download | gcc-2fa2d802da69601c9945dbb988aa29e5567bd8d5.zip gcc-2fa2d802da69601c9945dbb988aa29e5567bd8d5.tar.gz gcc-2fa2d802da69601c9945dbb988aa29e5567bd8d5.tar.bz2 |
re PR tree-optimization/18544 (ICE with -ftree-vectorize)
PR tree-opt/18544
* tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
From-SVN: r91011
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 7793b0b..61c22e8 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: |