This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ifcvt/crossjump patch: Fix PR 42496, 21803


On 07/23/10 16:05, Eric Botcazou wrote:
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?
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 commonize code.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]