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?

Reply via email to