[tree-ssa-branch] simplify builtins

Daniel Berlin dberlin@dberlin.org
Sat Jun 29 15:08:00 GMT 2002


On Sat, 29 Jun 2002, Diego Novillo wrote:

> On Thu, 27 Jun 2002, Aldy Hernandez wrote:
> 
> > i need another nod because i changed 2 things.
> > 
> > 1. is_string_plus_int() was just replicating string_constant() which is
> >    what the expand_builtins were using.  so now i just call that.
> >    less code, cleaner, and catches more corner cases :).
> > 
> > 2. is_simple_compound_lval() was bailing out on INDIRECT_REFs, so it
> >    never got a chance to call is_simple_min_lval().  this was causing
> >    a vararg regression.
> > 
> I changed the implementation for #2.  When simplifying address
> expressions, the simplifier should deal with expressions of the
> form '&*PTR' by folding them first into 'PTR' and then
> simplifying PTR as a regular rvalue.
> 
> The front end will fold those away for us.  But the builtin for
> va_end is generating &*PTR expressions, so we need to deal with
> them.
> 
> Notice that we are causing one more test to time out now.  Now
> that things work, we should start paying attention to performance
> issues.

I'm happy to start doing so, as soon as we can handle tree replacement in 
a sane way.
We aren't going to really make headway on performance issues until we can 
at least copy prop away some of this crap, and remove dead code, so we 
don't have to RTL expand it.



More information about the Gcc-patches mailing list