https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56457

Nicholas Krause <xerofoify at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |xerofoify at gmail dot com

--- Comment #2 from Nicholas Krause <xerofoify at gmail dot com> ---
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.

Reply via email to