https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88854

--- Comment #7 from Matthias Kretz <kretz at kde dot org> ---
(In reply to rguent...@suse.de from comment #5)
> Yeah, we do not perform this kind of "flow-sensitive" TBAA.  So
> when trying to DSE *a = x; we only look at
> 
>      int x = *a;
>      *b = 1;
>      *a = x;
> 
> and do not consider the earlier load from *b at all because it is
> not on the path from the load making the store possibly redundant.

However, if I annotate a and/or b as __restrict__ GCC does the DSE. I don't
think I want another DSE special case but a general case of inducing aliasing
knowledge, which may affect decisions throughout the whole program where the
pointers are used.

Reply via email to