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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|rguenth at gcc dot gnu.org         |unassigned at gcc dot 
gnu.org
      Known to fail|                            |11.4.0
                 CC|                            |rguenth at gcc dot gnu.org
      Known to work|                            |12.1.0, 13.1.0, 14.0
             Status|ASSIGNED                    |NEW
            Summary|[11/12/13/14 Regression]    |[11 Regression] Inordinate
                   |Inordinate cpu time and     |cpu time and memory usage
                   |memory usage in "phase opt  |in "phase opt and generate"
                   |and generate" with          |with -ftest-coverage
                   |-ftest-coverage             |-fprofile-arcs
                   |-fprofile-arcs              |

--- Comment #44 from Richard Biener <rguenth at gcc dot gnu.org> ---
I tried the first input file with GCC 13.2 and on a Ryzen 9 7900X get a memory
usage of 105MB and 1.1s compile-time.  The larger testcase needs 360MB peak
and 6.3s to compile.  Both with mostly flat -ftime-report profile.

Upping to -O2 shows same memory peak but 13.1s for the larger testcase.  We
then see

 PRE                                :   2.09 ( 16%)   0.01 (  1%)   2.15 ( 15%)
  288k (  0%)

as the biggest thing sticking out (similar for the small testcase).

I think we've come a long way here.  GCC 12.3 behaves the same.  For GCC 11.4
the larger testcase at -O2 I stopped after 3 minutes, the small testcase at -O1
takes 44s and 5GB memory.

Fixed for GCC 12+, I'm not going to look at identifying what to backport (I
usually backported compile-time/memory-usage improvements when reasonable, so
I suspect this was a bigger change).

Reply via email to