https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100511
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- I don't see how we can say x->count is loop invariant, the GIMPLE memory model allows aliasing of 'g' via 'x->count' since the effective type of 'g' can be a struct XX (and the store via 'g' doesn't change that). IPA can of course work out that x does not alias g.