https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
Richard Biener changed:
What|Removed |Added
Depends on|82177 |65752
--- Comment #6 from Richard
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
Bug 82282 depends on bug 82177, which changed state.
Bug 82177 Summary: Alias analysis too aggressive with integer-to-pointer cast
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82177
What|Removed |Added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
--- Comment #5 from rguenther at suse dot de ---
On Fri, 22 Sep 2017, nunoplopes at sapo dot pt wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
>
> --- Comment #4 from Nuno Lopes ---
> There are two major transformations going on:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
--- Comment #4 from Nuno Lopes ---
There are two major transformations going on:
if (u != v) {
v = u;
}
=>
v = u
(with v, u integers)
and:
glb = (int*)(uinptr_t)foo)
=>
glb = foo
Doing both triggers the end-to-end
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
--- Comment #3 from rguenther at suse dot de ---
On Fri, 22 Sep 2017, nunoplopes at sapo dot pt wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
>
> --- Comment #2 from Nuno Lopes ---
> This is different from PR82177. That bug is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
--- Comment #2 from Nuno Lopes ---
This is different from PR82177. That bug is in AA, this one is not.
See the C source:
uintptr_t u = (uintptr_t) (x + 1);
uintptr_t v = (uintptr_t) y;
// if b1 true, then b2 must be true as well
int b1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82282
Richard Biener changed:
What|Removed |Added
Depends on||82177
--- Comment #1 from Richard