https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61502
--- Comment #37 from Alexander Cherepanov <ch3root at openwall dot com> --- On 30/12/2019 10.51, rguenther at suse dot de wrote: >> Obviously, it could be used to fold `a + i == b` to `0` if `a` and `b` >> are two different known arrays and `i` is unknown > > That's indeed the main thing. Basically it allows points-to analysis work at > all in the presence of non-constant offsets. But what is PTA used for? Examples that I've seen all deal with dereferenceable pointers. And current gcc behaviour is just fine in that case. The problem is with non-dereferenceable pointers. So is PTA important for cases where dereferenceability is unknown (or known to be false) or it's just too complicated to take dereferenceability into account?