[Bug tree-optimization/56457] Bogus warning: loop-invariant.c:786:20: error: unused variable ‘regno’ when building vax-*-*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457 Jeffrey A. Law changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED CC||law at gcc dot gnu.org --- Comment #5 from Jeffrey A. Law --- Per c#4.
[Bug tree-optimization/56457] Bogus warning: loop-invariant.c:786:20: error: unused variable ‘regno’ when building vax-*-*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457 Jan-Benedict Glaw changed: What|Removed |Added CC||jbg...@lug-owl.de --- Comment #4 from Jan-Benedict Glaw --- This can IMHO be closed. Using a 11.0.1 based compiler (Debian "unstable"'s "gcc-snapshot package) to build current GCC versions (ie. tested with 5e0236d3b0e0d7ad98bcee36128433fa755b5558 as of May 9th, 2021), the warning doesn't appear. Indeed, the VAX backend recently got quite a major overhault by Maciej.
[Bug tree-optimization/56457] Bogus warning: loop-invariant.c:786:20: error: unused variable ‘regno’ when building vax-*-*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457 Eric Gallager changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2019-11-10 Ever confirmed|0 |1 --- Comment #3 from Eric Gallager --- (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.
[Bug tree-optimization/56457] Bogus warning: loop-invariant.c:786:20: error: unused variable ‘regno’ when building vax-*-*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457 Nicholas Krause changed: What|Removed |Added CC||xerofoify at gmail dot com --- Comment #2 from Nicholas Krause --- 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.
[Bug tree-optimization/56457] Bogus warning: loop-invariant.c:786:20: error: unused variable ‘regno’ when building vax-*-*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org --- Comment #1 from Eric Gallager --- Does this still happen?