> Given the ill-formed nature of __builtin_unreachable, I think the > sensible thing is to require BARRIERs to match as well. If we don't, > then we could consider paths which differ only in the existence of a > BARRIER. If we cross jump them, then we either lose the > BARRIER/__builtin_unreachable property or we add it where it wasn't before.
All right, although the counter-argument could be that __builtin_unreachable shouldn't prevent an optimization that would have happened without it. Then I think that a new predicate should be added to emit-rtl.c with the head comment explaining this and invoked from rtx_renumbered_equal_p. -- Eric Botcazou