mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-26 12:29:33 +08:00
re PR tree-optimization/20474 (ICE while compiling openmotif-2.2.3 with -ftree-vectorize)
PR tree-optimization/20474 * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the size_type of the relevant pointer. Check for COMPLETE_TYPE_P. From-SVN: r96632
This commit is contained in:
parent
981c7dcef8
commit
d6efd7d667
@ -1,3 +1,9 @@
|
||||
2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
|
||||
|
||||
PR tree-optimization/20474
|
||||
* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
|
||||
size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
|
||||
|
||||
2005-03-17 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* config/h8300/h8300-protos.h: Remove prototypes for
|
||||
|
@ -1401,8 +1401,7 @@ vect_analyze_pointer_ref_access (tree memref, tree stmt, bool is_read,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
reftype = TREE_TYPE (init);
|
||||
if (!POINTER_TYPE_P (reftype))
|
||||
if (!POINTER_TYPE_P (TREE_TYPE (init)))
|
||||
{
|
||||
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS,
|
||||
LOOP_LOC (loop_vinfo)))
|
||||
@ -1412,6 +1411,14 @@ vect_analyze_pointer_ref_access (tree memref, tree stmt, bool is_read,
|
||||
|
||||
*ptr_step = fold_convert (ssizetype, step);
|
||||
innertype = TREE_TYPE (reftype);
|
||||
if (!COMPLETE_TYPE_P (innertype))
|
||||
{
|
||||
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS,
|
||||
LOOP_LOC (loop_vinfo)))
|
||||
fprintf (vect_dump, "not vectorized: pointer to incomplete type.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Check that STEP is a multiple of type size. */
|
||||
if (!integer_zerop (size_binop (TRUNC_MOD_EXPR, *ptr_step,
|
||||
fold_convert (ssizetype, TYPE_SIZE_UNIT (innertype)))))
|
||||
|
Loading…
Reference in New Issue
Block a user