https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91227
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> --- When we compare p>=a where a is an array (char a[3];), we can assume that p points somewhere into the array and fold it to true (unless we decide that it is too risky, and that for instance since we allow pointers one past the end, we should also allow pointers one before the beginning). It is only in the rare case where we happen to know that p cannot point into the array that we might want to do something different (one possibility would be to fold the comparison to an undefined ssa_name), but that shouldn't prevent the 'true' optimization for valid code paths. Path isolation might arrive too late, after we have already folded to true.