aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-analyze.c
diff options
context:
space:
mode:
authorIra Rosen <irar@il.ibm.com>2007-07-02 10:27:27 +0000
committerIra Rosen <irar@gcc.gnu.org>2007-07-02 10:27:27 +0000
commit3053ce44094e4d0418e02dffc5433ee84e1e530d (patch)
tree1f359e70a59e97fb0a9dceac8c3a916556031e1a /gcc/tree-vect-analyze.c
parente2c14f5d512a5a5e8a658030789dea947c42068e (diff)
downloadgcc-3053ce44094e4d0418e02dffc5433ee84e1e530d.zip
gcc-3053ce44094e4d0418e02dffc5433ee84e1e530d.tar.gz
gcc-3053ce44094e4d0418e02dffc5433ee84e1e530d.tar.bz2
re PR tree-optimization/32230 (Segfault in set_bb_for_stmt with -O -ftree-vectorize)
PR tree-optimization/32230 PR tree-optimization/32477 * tree-vect-analyze.c (vect_analyze_data_refs): Fail if base address is a constant. From-SVN: r126196
Diffstat (limited to 'gcc/tree-vect-analyze.c')
-rw-r--r--gcc/tree-vect-analyze.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c
index b4cd79d..6cfea2b 100644
--- a/gcc/tree-vect-analyze.c
+++ b/gcc/tree-vect-analyze.c
@@ -2092,6 +2092,15 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo)
}
return false;
}
+
+ if (TREE_CODE (DR_BASE_ADDRESS (dr)) == INTEGER_CST)
+ {
+ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
+ fprintf (vect_dump, "not vectorized: base addr of dr is a "
+ "constant");
+ return false;
+ }
+
if (!DR_SYMBOL_TAG (dr))
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))