FRE has all the information available, it's simply not used because eliminate()
does not consider copy statements (and does not run elimination on PHI
arguments
for the same reason).  Also for full const/copy propagation COND_EXPRs need to
be value-numbered.

This would let us get rid of a copyprop and a ccp pass.

I have a prototype patch (still lacks COND_EXPR VN).


-- 
           Summary: FRE does not do const or copy propagation while it could
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org
 BugsThisDependsOn: 30997


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31914

Reply via email to