On 07/18/2011 12:09 PM, Steven Bosscher wrote:
> On Mon, Jul 18, 2011 at 8:48 PM, Richard Henderson <r...@redhat.com> wrote:
>> Split out a helper subroutine to insert a barrier,
>> after we've modified a basic block to not fallthru.
> 
> Huh, aren't barriers emitted automatically when going out of cfglayout mode??

... only for conditional branches.  We appear to assume that unconditional
branches already have a barrier in the footer.

See fixup_reorder_chain, and the location of the only call to 
emit_barrier_after.

I'm really not keen on how cfglayout.c introduces new REG_CROSSING_JUMP notes.
Given the fixups we perform in bb-reorder.c for !HAS_LONG_COND_BRANCH and
!HAS_LONG_UNCOND_BRANCH, it seems like the simplistic code in cfglayout.c is
likely only going to work for targets like x86...

I wonder what happens if I simply assert that pass_bbpart has already done
the right thing...


r~

Reply via email to