[PATCH][RFC] Teach more transformations in ifcvt.c how to update the CFG

Steven Bosscher stevenb.gcc@gmail.com
Mon Jan 8 07:42:00 GMT 2007


On 07 Jan 2007 21:09:19 -0800, Ian Lance Taylor <iant@google.com> wrote:
> Steven Bosscher <stevenb.gcc@gmail.com> writes:
>
> > This is an "upgrade" of yesterday's patch.  This time I've updated all
> > functions not related to conditional execution to update the CFG instead
> > if relying on merge_if_block.
>
> This patch looks good to me.  Are you planning to handle conditional
> execution separately?

I don't know yet what to do with conditional execution.  IMHO it
doesn't really belong in ifcvt.c but I need to experiment with it a
bit.  For the moment it's not blocking me from enabling cfglayout mode
where I can (conditional execution is post reload only and I can't
have cfglayout mode there over multiple passes). I may end up with a
patch to just update the CFG after conditional execution in the same
way as the current patch does for the NOCE cases (and maybe split
common code out to a new merge_if_block).  Or I'm going to split out
the predication code to a new file, use struct-equiv code to get
better code matching, and remove predication from ifcvt.c altogether.

In short: TBD :-)

Thanks for looking at the patch,

Gr.
Steven



More information about the Gcc-patches mailing list