>> > This is wrong. You would emit the barrier as a non-insn after the end
>> > of the basic block, which you can't do in cfglayout mode. If the
>> > barrier would go anywhere, it would be in bb->il.rtl->footer. But in
>> > this case, emiting a barrier is just wrong. Why did you need this?
>>
>> I don't really recall this exactly, it will take some more
>> investigation. It doesn't seem to be so wrong to force the
>> presence of a barrier when going *out* of cfglayout mode if
>> there's no fallthrough edge.
>
> But cfg_layout_finalize already forces a barrier after non-fallthrough
> edges, so you still shouldn't need this.
It only does this when it creates a non-fallthrough edge itself
in force_nonfallthru, AFAICT. It seems like a barrier is not
necessary before combine, but is necessary afterwards because
of some simplification. If it really bothers you, I'll look for
a reduced testcase.