This is the mail archive of the
mailing list for the GCC project.
Re: ifcvt/crossjump patch: Fix PR 42496, 21803
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Bernd Schmidt <bernds at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Steven Bosscher <stevenb dot gcc at gmail dot com>, Jim Wilson <wilson at codesourcery dot com>
- Date: Sat, 24 Jul 2010 00:05:55 +0200
- Subject: Re: ifcvt/crossjump patch: Fix PR 42496, 21803
- References: <4BB3CCCA.email@example.com> <firstname.lastname@example.org> <4C48B32C.email@example.com>
> Before you do that, here's a new version. This corrects a few errors in
> the register lifetime handling, and adds support for moving across two
> basic blocks, which is very useful for switch statements but happens in
> other cases as well.
This implementation really moves insns whereas cross-jumping, the reversed
transformation, is implemented by means of operations on the CFG. Although
this is probably not as straightforward in this direction, did you consider
the CFG approach instead? Wouldn't it simplify a little the integration in
the cfgcleanup.c framework?