https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292
--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK, I can reproduce it even though the propagation happens in different
function in dom rather than pre.
The callee is again the operator++ so I start to suspect aliasing violation
there.
I get:
ipa-modref: in build_patches.constprop/375859, call to operator++/33005 does
not clobber MEM <struct DoFHandler * const> [(struct DoFCellAccessor
*)&active_cell] 6->6
parameter of call is &active_cell so we disambiguate param0 with
while the summary for ipa-modref
stores:
Limits: 32 bases, 16 refs
Base 0: alias set 11
Ref 0: alias set 13
access: Parm 0 param offset:64 offset:32 size:32 max_size:32
access: Parm 0 param offset:64 offset:0 size:32 max_size:32
So this really seems that the alias set 6 is not conflicting with alias sets
11 or 13.
Honza