On 01/08/2016 01:17 PM, Jakub Jelinek wrote:
Hi!

As mentioned in the PR, sched1 and reload add NOTE_INSN_DELETED notes
that are moved by shrink-wrapping in between some basic blocks and
later on we end up with a barrier after the notes.  From comments above
cleanup_barriers pass I think it isnot invalid, and various other places
deal with notes before barrier, so this patch teaches rtl_merge_block
to deal with that too.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

Independently, it would be nice if sched and reload clean those
NOTE_INSN_DELETED after themselves, there should be no reason why those
should be hanging around until final.

2016-01-08  Jakub Jelinek  <ja...@redhat.com>

        PR target/69175
        * cfgrtl.c (rtl_merge_blocks): Look for BARRIER even after
        notes outside of basic block.

        * g++.dg/opt/pr69175.C: New test.
And presumably with this change, END includes the BARRIER and thus the BARRIER gets deleted, right?

I know Bernd is engaged, so I'll let him have the final say here.


jeff

Reply via email to