[PATCH] Restore vectorization for testcase in PR34011

Richard Guenther rguenther@suse.de
Wed Sep 16 18:26:00 GMT 2009


On Wed, 16 Sep 2009, Michael Matz wrote:

> Hi,
> 
> On Wed, 16 Sep 2009, Richard Guenther wrote:
> 
> > --- 616,633 ----
> >   
> >   /* Return true if VAR may be aliased.  A variable is considered as
> >      maybe aliased if it has its address taken by the local TU
> > !    or possibly by another TU and might be modified through a pointer.  */
> >   
> >   static inline bool
> >   may_be_aliased (const_tree var)
> >   {
> > !   return (TREE_CODE (var) != CONST_DECL
> > ! 	  && !((TREE_STATIC (var) || TREE_PUBLIC (var) || DECL_EXTERNAL (var))
> > ! 	       && TREE_READONLY (var)
> > ! 	       && !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (var)))
> > ! 	  && (TREE_PUBLIC (var)
> > ! 	      || DECL_EXTERNAL (var)
> > ! 	      || TREE_ADDRESSABLE (var)));
> 
> Now my head hurts.  Please split into something grokable like
> 
> if (TREE_CODE (var) == CONST_DECL)
>   return false;
> if (TREE_READONLY (var)
>     && !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (var)))
>   return false;
> return TREE_PUBLIC (var) || DECL_EXTERNAL (var) || .... ;
> 
> (I know the above actually isn't equivalent to your condition, one more 
> reason to split it :) )

But it still fits on one page!  ;)

I'll split it up.

Richard.



More information about the Gcc-patches mailing list