https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92765
--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #22) > I've been going through the test cases here. IIUC, the one in comment #10 > is a separate issue and should get its own bug. (Arguably, so is the one in > comment #7.) > > It's unfortunate that GIMPLE doesn't preserve the basic property mentioned > in comment #2. Not only does it make working with it error-prone (vis-a-vis > this bug and others like it), it also prevents interesting optimizations, > and makes warnings that depend on the property regardless inconsistent with > the guarantees GCC does provide. I'm hoping this can change in the future. I don't think this will change in future. You have to look at this from the angle of value-equivalences which is the number one thing a compiler is supposed to compute and utilize. All this analyzer work and also this stupid pointer provenance stuff makes value-equivalences no longer work. At the same time the compiler is still expected it exploit those equivalences unless it breaks something. That's never going to work.