https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100799
--- Comment #30 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Either tree parmdef = ssa_default_def (cfun, parm) is NULL, or has_zero_uses (parmdef). Not sure if has_zero_uses will work properly after some bbs are converted from GIMPLE to RTL, but maybe it will, I think the expansion generally doesn't gsi_remove statements it expands nor calls update_stmt on them. One could always also just compute in generic code at the start of expansion the number of unused DECL_HIDDEN_STRING_LENGTH PARM_DECLs at the end of the argument list, save that as a flag in struct function or where and let the backends use it from there.