On 26 November 2013 22:05, Jeff Law <l...@redhat.com> wrote: > Open to other suggestions. The fundamental issue is BARRIERs live outside > the CFG. So a pass that thinks it can manipulate the CFG and ignore the > underlying RTL are going to have problems with things like this.
Here, the barrier itself acts like a JUMP_INSN with a special target - a bit like return, except that our special destination here is 'unreachable'. If you want to express this in the cfg other than having no successors, you should have a special UNREACHABLE block, which thus becomes competition for the exit block.