https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100799
--- Comment #29 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #28) > Yes, so it is the backend that told function.cc that there is a parameter > save area and it should be adding REG_EQUIV notes. So, the idea would be > that for the case we talk about (<= 8 normal arguments, then only unused > DECL_HIDDEN_STRING_LENGTH ones) that the backend would also say that there > is no parameter save area, basically pretend there are <= 8 arguments. How can we know there are no uses of the hidden arg(s)? That backend function is being called at expand time, so we haven't yet run any RTL dataflow information to tell us. Is there some tree attribute for the arg that can tell is whether it's used or not? ...or is there some SSA data for that arg that can show it has no use? ...and if so, would that still work for -O0 compiles?