https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101949
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- All right, so I investigated more, with a new dbg counter in gimple_call_arg_flags the following flags are updated: combine: flags=0, modref_flags=0 # .MEM_817 = VDEF <.MEM_816> _35 = check_connected (iterate_ref_map2, &rm, &opt); combine: flags=0, modref_flags=0 # .MEM_68 = VDEF <.MEM_67> _29 = check_connected (iterate_ref_map2, &rm, &opt); where arg == 0, so IPA MOD ref claims that iterate_ref_map2 is '(EAF_NOCLOBBER | EAF_NOESCAPE)' which is likely the problem.