> > +/* Return true if TYPE is a composite type (i.e. we may apply one of 
> > handled
> > +   components on it).  */
> > +
> > +static bool
> > +access_patch_may_continue_p (tree type)
> 
> 'path', but I think type_has_components_p would be a better fit?

Thanks, looks better indeed!
> 
> > +{
> > +  return AGGREGATE_TYPE_P (type) || VECTOR_TYPE_P (type)
> > +    || TREE_CODE (type) == COMPLEX_TYPE;
> > +}
> > +
> >  /* Determine if the two component references REF1 and REF2 which are
> >     based on access types TYPE1 and TYPE2 and of which at least one is based
> >     on an indirect reference may alias.  REF2 is the only one that can
> > @@ -965,6 +1028,7 @@ aliasing_component_refs_p (tree ref1,
> >       if there is no B2 in the tail of path1 and no B1 on the
> >       tail of path2.  */
> >    if (compare_type_sizes (TREE_TYPE (ref2), type1) >= 0
> > +      && (access_patch_may_continue_p (TREE_TYPE (ref2)))
> 
> extra parens around the call here and below.
> 
> OK with all these issues fixed.

Thanks. That is leftover of a debug code to compare old and new oracle.
I will be more careful next time.

Honza
> 
> Richard.
> 
> >        && (base1_alias_set == ref2_alias_set
> >            || alias_set_subset_of (base1_alias_set, ref2_alias_set)))
> >      {
> > @@ -974,6 +1038,7 @@ aliasing_component_refs_p (tree ref1,
> >    /* If this is ptr vs. decl then we know there is no ptr ... decl path.  
> > */
> >    if (!ref2_is_decl
> >        && compare_type_sizes (TREE_TYPE (ref1), type2) >= 0
> > +      && (access_patch_may_continue_p (TREE_TYPE (ref1)))
> >        && (base2_alias_set == ref1_alias_set
> >       || alias_set_subset_of (base2_alias_set, ref1_alias_set)))
> >      {
> > 
> 
> -- 
> Richard Biener <rguent...@suse.de>
> SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany;
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah; HRB 21284 (AG Nürnberg)

Reply via email to