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 11:33 PM, Bernd Schmidt <bernds_cb1@t-online.de> wrote:
> Steven Bosscher wrote:
>
>> 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.
>
> Wasn't see.c one of those known-broken, works on one target only, passes
> of which we seem to have accumulated a few?

No, it has its limitations but it used to work quite well for a bunch
of targets. The problem is that it fails to handle extends in
PARALLELs, but that can be solved.

I will not deny that making it work properly may be a lot of work, but
I already offered to take care of that (it's been on my list of things
I'd like to do for some time now anyway).


> Besides, we're not eliminating the sign extensions, we're _propagating_
> them to a different place.

We do that in see.c too in phase 1.


>  We also deal with zero extensions, and
> shifts .

In see.c we also deal with zero extensions. The pass is mis-named. For
shifts, I don't know.

>  Both Paolo and myself have versions of the patch which utilize
> fwprop infrastructure.  IMO there's no point in rewriting the whole
> thing to fit into a different framework.

If it's the right thing in the wrong place, then IMO there is always a
point to try and fit it in the right place. Doing the right thing in
the wrong place is how things like regmove and reload came to be.

Gr.
Steven


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