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

Davide Italiano <dccitaliano at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pheeck at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #2 from Davide Italiano <dccitaliano at gmail dot com> ---
This points to:

commit cd794c3961017703a4d2ca0e854ea23b3d4b6373                                 
Author: Filip Kastl <fka...@suse.cz>                                            
Date:   Thu Dec 14 11:29:31 2023 +0100                                          

    A new copy propagation and PHI elimination pass                             

    This patch adds the strongly-connected copy propagation (SCCOPY) pass.      
    It is a lightweight GIMPLE copy propagation pass that also removes some     
    redundant PHI statements. It handles degenerate PHIs, e.g.:                 

    _5 = PHI <_1>;                                                              
    _6 = PHI <_6, _6, _1, _1>;                                                  
    _7 = PHI <16, _7>;                                                          
    // Replaces occurences of _5 and _6 by _1 and _7 by 16                      

    It also handles more complicated situations, e.g.:                          

    _8 = PHI <_9, _10>;                                                         
    _9 = PHI <_8, _10>;                                                         
    _10 = PHI <_8, _9, _1>;                                                     
    // Replaces occurences of _8, _9 and _10 by _1                              

    gcc/ChangeLog:                                                              

            * Makefile.in: Added sccopy pass.                                   
            * passes.def: Added sccopy pass before LTO streaming and before     
            RTL expansion.                                                      
            * tree-pass.h (make_pass_sccopy): Added sccopy pass.                
            * gimple-ssa-sccopy.cc: New file.                                   

    gcc/testsuite/ChangeLog:                                                    

            * gcc.dg/sccopy-1.c: New test.                                      

    Signed-off-by: Filip Kastl <fka...@suse.cz>                                 

 gcc/Makefile.in                 |   1 +                                        
 gcc/gimple-ssa-sccopy.cc        | 680 ++++++++++++++++++++++++++++++++++++++++ 
 gcc/passes.def                  |   2 +                                        
 gcc/testsuite/gcc.dg/sccopy-1.c |  78 +++++                                    
 gcc/tree-pass.h                 |   1 +                                        
 5 files changed, 762 insertions(+)                                             
 create mode 100644 gcc/gimple-ssa-sccopy.cc                                    
 create mode 100644 gcc/testsuite/gcc.dg/sccopy-1.c                             
bisect found first bad commit

Reply via email to