https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88301
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #2) > Not sure where this [0, 0] range is coming from... Well, I guess it is EVRP trying to encode __builtin_unreachable for _3!=0 in the range information of _3, but not cleaning up (the clean-up happens in CCP2). But that doesn't quite work because we don't reuse that specific variable _3, we reuse _2. It used to work because in VRP1 we would replace _3!=0 with _2!=0.