https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-11-10 Ever confirmed|0 |1 --- Comment #3 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Nicholas Krause from comment #2) > defs = DF_REF_CHAIN (use); > > if (!defs) > > { > > unsigned int regno = DF_REF_REGNO (use); > > > > /* If this is the use of an uninitialized argument register that is > > likely to be spilled, do not move it lest this might extend its > > lifetime and cause reload to die. This can occur for a call to > > a function taking complex number arguments and moving the insns > > preparing the arguments without moving the call itself wouldn't > > gain much in practice. */ > > if ((DF_REF_FLAGS (use) & DF_HARD_REG_LIVE) > > && FUNCTION_ARG_REGNO_P (regno) > > && targetm.class_likely_spilled_p (REGNO_REG_CLASS (regno))) > > return false; > > > > return true; > > } > > This is the actual code and it seems to be used not in the if block below it > Eric. I haven't run a build for it on the current gcc sources but it seems > to be used currently. As for memory I don't recall it happening during my > latest gcc builds on the upstream sources. ok I guess I'll take this as confirmation then.