diff options
author | Ira Rosen <irar@il.ibm.com> | 2007-07-02 10:27:27 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2007-07-02 10:27:27 +0000 |
commit | 3053ce44094e4d0418e02dffc5433ee84e1e530d (patch) | |
tree | 1f359e70a59e97fb0a9dceac8c3a916556031e1a /gcc/tree-vect-analyze.c | |
parent | e2c14f5d512a5a5e8a658030789dea947c42068e (diff) | |
download | gcc-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.c | 9 |
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)) |