https://gcc.gnu.org/g:1a05bff037dd32f73e1135d4ba2737167104c528

commit 1a05bff037dd32f73e1135d4ba2737167104c528
Author: Jeff Law <j...@ventanamicro.com>
Date:   Sun Jul 21 08:41:28 2024 -0600

    [PR rtl-optimization/115877][2/n] Improve liveness computation for constant 
initialization
    
    While debugging pr115877, I noticed we were failing to remove the 
destination
    register from LIVENOW bitmap when it was set to a constant value.  ie  (set
    (dest) (const_int)).  This was a trivial oversight in
    safe_for_live_propagation.
    
    I don't have an example of this affecting code generation, but it certainly
    could.  More importantly, by making LIVENOW more accurate it's easier to 
debug
    when LIVENOW differs from expectations.
    
    As with the prior patch this has been tested as part of a larger patchset 
with
    the crosses as well as individually on x86_64.
    
    Pushing to the trunk,
    
            PR rtl-optimization/115877
    gcc/
            * ext-dce.cc (safe_for_live_propagation): Handle RTX_CONST_OBJ.
    
    (cherry picked from commit 9d8ef2711dfecd093077aef6123d9e93ea23454e)

Diff:
---
 gcc/ext-dce.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc
index d431f8ac12d..59bcc4572d5 100644
--- a/gcc/ext-dce.cc
+++ b/gcc/ext-dce.cc
@@ -69,6 +69,7 @@ safe_for_live_propagation (rtx_code code)
   switch (GET_RTX_CLASS (code))
     {
       case RTX_OBJ:
+      case RTX_CONST_OBJ:
        return true;
 
       case RTX_COMPARE:

Reply via email to