This is the mail archive of the
mailing list for the GCC project.
Re: ifcvt/crossjump patch: Fix PR 42496, 21803
On 07/23/10 16:05, Eric Botcazou wrote:
It's probably worth noting that these optimizations are more effective
when they're allowed to move insns. So while limiting to CFG
approaches may simplify things, it also leads to fewer opportunities to
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?