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: [4.5] Better support for widening multiplies


On Tue, Feb 17, 2009 at 6:24 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
> I put together this code...  the main difference with yours is that it
> only propagates if the use has a single definition.  This is needed for
> the DF update, and in 4.5 I want to use this to stop using (explicitly)
> use-def chains.  UD chains are expensive and turning them off will allow
> enabling of fwprop at -O1.
>
> On one hand it might not catch some cases that your catch did, on the
> other hand doing this in forward_propagate_into might enable more cascading.
>
> I don't ask you to look at it right now, just if you post some testcases
> (any target will do) I'll check if my code optimizes them.
>
> Steven, what do you think?

I think all of this just does not belong in fwprop.  We're talking
about sign extension elimination here, and there is a pass for that
already, see.c.  There, we also have UD chains available (and DU
chains) so it shouldn't be very hard to do the optimization there
instead -- if see.c is still in a shape where it actually works, but
I'm not sure about that, to be honest.

Bernd, could you give see.c a look?  Just the lengthy comment at the
file should give you a reasonable idea of what is (supposed to be)
going on in this pass.  If there is a way to fit in your optimization
in that pass, I'll help with that somehow (by fixing see.c the best I
can before GCC 4.5, for example).

Gr.
Steven


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