https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111157
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> --- So here ipa-modref declares the field dead, while ipa-prop determines its value even if it is unused and makes it used later? I think dead argument is probably better than optimizing out one store, so I think ipa-prop, however question is how to detect this reliably. ipa-modref has update_signature which updates summaries after ipa-sra work, so it is also place to erase the info about parameter being dead from the summary. Other option would be to ask ipa-modref from FRE when considering propagation of known value.