This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][alias-improvements] More type-based disambiguation


On Sat, 17 Jan 2009, Daniel Berlin wrote:

> On Sat, Jan 17, 2009 at 11:00 AM, Richard Guenther <rguenther@suse.de> wrote:
> >
> > This fixes type-based disambiguation to also consider canonical types
> > and eventual structual comparisons.  I believe this allows us to enable
> > a positive fallback for disjunct access paths.  It fixes the long-standing
> > PR13146 and a deficiency compared to RTL alias analysis (PR38895), but
> > without the cost of a quadratic loop.
> >
> > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to the
> > branch.
> >
> > Richard.
> 
> > Index: gcc/tree-ssa-alias.c
> > ===================================================================
> > *** gcc/tree-ssa-alias.c.orig   2009-01-17 16:50:25.000000000 +0100
> > --- gcc/tree-ssa-alias.c        2009-01-17 16:50:58.000000000 +0100
> > *************** debug_points_to_info_for (tree var)
> > *** 357,362 ****
> > --- 357,380 ----
> >    dump_points_to_info_for (stderr, var);
> >  }
> >
> > + /* Return 1 if TYPE1 and TYPE2 are to be considered equivalent for the
> > +    purpose of TBAA.  Return 0 if they are distinct and -1 if we cannot
> > +    decide.  */
> 
> For multi-valued functions like this, it would be nice to either
> return an enum, or at least, #define the results to names that have
> some meaning.
> It makes it much easier to understand later (and when the function
> inveitably gets exported and used all over the codebase ;P)

Heh, yeah.  I'll do it.

Thanks,
Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]