> > I have seen this happen when the result of the intersection is an empty > set (one of the few comments in value-range.h actually describes an > undefined range as an "empty range"). I have only seen this happen when > the edge has been redirected to builtin_unreachable because, the has > been recognized as impossible. But I am not absolutely convinced we can > rely on that always being the case. > > We can decide to not update jump functions for edges leading to > gcc_unreachable, after we have given some thought what to do about > reference description counts, but that is a separate effort, I'd say.
Hmm, I wonder in what scenarios empty range can happen. Probably we could redirect such edges to unreachable since such code path can not be taken? It is however probably rare enough to not matter that much in practice. Honza