This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa-branch] simplify builtins
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Aldy Hernandez <aldyh at redhat dot com>,"gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 29 Jun 2002 17:53:16 -0400 (EDT)
- Subject: Re: [tree-ssa-branch] simplify builtins
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.