This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Repost: RFA [4.1]: improvement to if-conversion and cross-jumping (PR20070)
- From: Jan Hubicka <jh at suse dot cz>
- To: Joern RENNECKE <joern dot rennecke at st dot com>
- Cc: Jan Hubicka <jh at suse dot cz>, Steven Bosscher <stevenb at suse dot de>, Bernd Schmidt <bernds_cb1 at t-online dot de>, Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 1 Dec 2005 20:40:53 +0100
- Subject: Re: Repost: RFA [4.1]: improvement to if-conversion and cross-jumping (PR20070)
- References: <41E59432.7080504@st.com> <438CCE0F.6020209@st.com> <438DC224.8020300@t-online.de> <200512011841.48546.stevenb@suse.de> <20051201180630.GH9853@kam.mff.cuni.cz> <438F47AC.4090103@st.com>
> Jan Hubicka wrote:
>
> >
> >
> >I experimented with enabling crossjuping before reload in the past and
> >it didn't work well enought to pay back (ie usually didn't get across
> >the different pseudos problem anyway)
> >
> Well, with my patch, the different pseudos problem can be expected to be
> solved,
> as long as there are not too many registers involved (in which case this
> wouldn't
> work well as a local optimization anyway).
Could you try how it behaves pre-reload then? (if you can send me
patch, I can give it a SPEC run too) I saw pretty common case where code
duplication prevented ifconvert, so it might be interesting to see how
things are affected by this.
>
> >and there are better algorithms to
> >do that.
> >
> >
> Which ones do you have in mind?
I tend to believe that most of the savings should come from code
unification pretty much like one we have in gcse.c. The gcse
implementation don't work very well since it can't handle chained
unifications, but at least on tree-ssa this should be resonably easy.
I am not sure how much duplicates comes out from RTL lowering that are
important to be caught on RTL level, I must say.
Honza
>