https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97172
--- Comment #14 from Martin Sebor <msebor at gcc dot gnu.org> --- I submitted a simple patch to do the unsharing as the first step toward fixing this bug here: https://gcc.gnu.org/pipermail/gcc-patches/2020-November/559770.html I'm not sure I understand correctly what you mean by "avoiding the attribute for VLA types would likely also be good (are those handled in any reasonable way?)" As I explain in the thread at the link above, the attribute is strictly only strictly necessary for the most significant bound of a VLA parameter. The other bounds are encoded in the type and so don't also need to be duplicated in the attribute (it's just more convenient/faster that way). But even with that change, and with the unsharing (or with the SAVE_EXPR around it), I'd expect the most significant bound to still be a problem for the streamer since it will still contain the unsupported nodes. Not SSA_NAMEs but some of the others.