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