[PATCH,RFC] CSE path following on basic blocks

Steven Bosscher stevenb.gcc@gmail.com
Sun Nov 26 09:27:00 GMT 2006

On 11/26/06, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On 11/26/06, Eric Botcazou <ebotcazou@libertysurf.fr> wrote:
> > > This is the patch as it looks right now to make CSE path following
> > > work on a trace of basic blocks isntead of on a list of insns.  I
> > > need to clean it up a bit more and write a ChangeLog, but I'm looking
> > > for early comments now.
> >
> > Please post a ChangeLog for every patch.  I know this is sometimes boring, but
> > this greatly helps reviewers.
> I will when I ask for a review.  This was just RFC.  As you can see in
> the subject btw.

BTW, I will try to submit the largest part of the patch for review
today.  I'm first re-testing the patch without the cfglayout bits.
That was just for testing that we can do that now, but it doesn't make
sense to run *only* CSE in cfglayout mode.  Those bits will be part of
a later patch to make a larger part of the compiler work in cfglayout

Sadly, I'm kind of stuck at the moment on ifcvt.  I had hoped that
fixing merge_if_block would be sufficient to make ifcvt work in
cfglayout mode too. But I'm looking at a complete rewrite now, because
there is just not enough information in merge_if_block to update the
CFG incrementally.  And in cfglayout mode, we do not allow the merging
of blocks if can_merge_blocks_p is false for the to-be-merged blocks.
In cfgrtl mode we just do that all the time (e.g. in ifcvt but also in
cfgcleanup.c:merge_blocks_move -- and my goal with going to cfglayout
mode is to get rid of those...).


More information about the Gcc-patches mailing list