Hi,

> > I am probably missing something:
> >
> >> The basic idea is enabling cfglayout mode and then ensuring that insn
> >> stream and control flow are in sync with each other at all times. This
> >> is required because e.g. on Itanium the final bundling happens right
> >> after scheduling, and any extra jumps emitted by cfg_layout_finalize
> >> will spoil the schedule.
> >
> > what is the difference between this idea and the cfgrtl mode?
> 
> In cfgrtl mode, the functions to manipulate the cfg ensure that the
> insn stream and the CFG match. For cfglayout mode you have to do it by
> hand.

I must say that I do not like this idea at all.  As cfgrtl mode routines
show, this is nontrivial (and consequently, error-prone), and you would
be duplicating much of cfgrtl functionality.  I fail to see the
advantage over simply using cfgrtl mode and handling the created jump
insns (by checking the last insn of altered and newly created blocks, no
changes to cfgrtl routines or new hooks necessary),

Zdenek

Reply via email to