public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
@ 2020-12-04 14:23 rguenth at gcc dot gnu.org
  2020-12-04 14:24 ` [Bug rtl-optimization/98144] " rguenth at gcc dot gnu.org
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-12-04 14:23 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98144
           Summary: REE needs 6GB DF memory when compiling insn-extract.c
                    with RTL checking enabled
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

otherwise it doesn't do much with all this DF analysis.

 ree                                :   0.07 (  0%)   0.00 (  0%)   0.05 (  0%)
   75k (  0%)
...
 TOTAL                              :  26.43          5.86         32.32       
 1655M
26.44user 5.91system 0:32.36elapsed 99%CPU (0avgtext+0avgdata
5555408maxresident)k
0inputs+0outputs (0major+2139837minor)pagefaults 0swaps


it does

  /* Construct DU chain to get all reaching definitions of each
     extension instruction.  */
  df_set_flags (DF_RD_PRUNE_DEAD_DEFS);
  df_chain_add_problem (DF_UD_CHAIN + DF_DU_CHAIN);
  df_mir_add_problem ();
  df_analyze ();

and the MIR problem causes it to explode.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
@ 2020-12-04 14:24 ` rguenth at gcc dot gnu.org
  2020-12-04 14:34 ` rguenth at gcc dot gnu.org
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-12-04 14:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 49682
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49682&action=edit
preprocessed insn-extract

This is x86_64 insn-extract when configured with --enable-checking=yes,rtl

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
  2020-12-04 14:24 ` [Bug rtl-optimization/98144] " rguenth at gcc dot gnu.org
@ 2020-12-04 14:34 ` rguenth at gcc dot gnu.org
  2020-12-07  8:36 ` doko at debian dot org
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-12-04 14:34 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Maybe RTL SSA is a good fit for REE.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
  2020-12-04 14:24 ` [Bug rtl-optimization/98144] " rguenth at gcc dot gnu.org
  2020-12-04 14:34 ` rguenth at gcc dot gnu.org
@ 2020-12-07  8:36 ` doko at debian dot org
  2020-12-07 13:43 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: doko at debian dot org @ 2020-12-07  8:36 UTC (permalink / raw)
  To: gcc-bugs

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

Matthias Klose <doko at debian dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doko at debian dot org

--- Comment #3 from Matthias Klose <doko at debian dot org> ---
8441545d4f2afb9e9342e0dac378eafd03f00462 now builds insn-extract.o without rtl
checking unconditionally.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-12-07  8:36 ` doko at debian dot org
@ 2020-12-07 13:43 ` rguenth at gcc dot gnu.org
  2020-12-09 14:36 ` amacleod at redhat dot com
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-12-07 13:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #49682|0                           |1
        is obsolete|                            |

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 49696
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49696&action=edit
testcase that GCC 7 to GCC 11 can grok

Updated testcase produced with a GCC 7 host compiler.  While -fno-ree helps
for GCC 7 to GCC 10:

> /usr/bin/time g++-10  insn-extract.ii -fno-exceptions -fno-rtti -O2 -S -fno-ree
19.90user 0.33system 0:20.25elapsed 99%CPU (0avgtext+0avgdata
1290440maxresident)k
0inputs+0outputs (0major+280821minor)pagefaults 0swaps

it doesn't for trunk which shows ranger allocating 5GB of memory.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-12-07 13:43 ` rguenth at gcc dot gnu.org
@ 2020-12-09 14:36 ` amacleod at redhat dot com
  2020-12-09 14:42 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: amacleod at redhat dot com @ 2020-12-09 14:36 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-12-09
                 CC|                            |amacleod at redhat dot com
     Ever confirmed|0                           |1

--- Comment #5 from Andrew Macleod <amacleod at redhat dot com> ---
I am working on this. 
The memory being allocated is the on-entry cache. With a very large CFG, the
on-entry cache propagator is consuming excessive memory.

First step is to recognize that if an ssa-name is never exported from GORI in
any block, then its only range is it's global range, and we don't need to
propagate any on-entry range around for it. I had planned to eventually get to
this, now its seems more important.  It is also a general speedup to avoid ever
looking at names which are irrelevant

This is true for all ranges except pointers which can become non-zero at a
dereference point.  And more generally, for anything which is the product of a
statement side effect. Dereferences are currently the only thing ranger tracks
which fall into this category. 

Implementing this tweak get back about half that memory.  The other half is
still tracking around the non-zero-ness of pointers across this massive CFG.

I have longer term plans for dealing with statement side effects like this that
are beyond the scope of this release, as well as different plans for pointer
ranges when we get to supporting other kinds of ranges beyond just integral.

If I then disable tracking pointer values via de-references in the on entry
cache, memory consumption goes back to normal.  Since hybrid EVRP still has
EVRP tracking the non-null pointer values , I am considering this as an option
just within EVRP for this release since we shouldn't miss anything.

I am continuing to look at it though and will come back with firmer conclusions

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2020-12-09 14:36 ` amacleod at redhat dot com
@ 2020-12-09 14:42 ` jakub at gcc dot gnu.org
  2020-12-17 18:37 ` amacleod at redhat dot com
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-09 14:42 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Andrew Macleod from comment #5)
> If I then disable tracking pointer values via de-references in the on entry
> cache, memory consumption goes back to normal.  Since hybrid EVRP still has
> EVRP tracking the non-null pointer values , I am considering this as an
> option just within EVRP for this release since we shouldn't miss anything.

Perhaps it could be disabled only if the CFG is large for some definition of
large?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2020-12-09 14:42 ` jakub at gcc dot gnu.org
@ 2020-12-17 18:37 ` amacleod at redhat dot com
  2021-01-29  9:22 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: amacleod at redhat dot com @ 2020-12-17 18:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Andrew Macleod <amacleod at redhat dot com> ---
PR 98174 has that patch applied btw.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2020-12-17 18:37 ` amacleod at redhat dot com
@ 2021-01-29  9:22 ` rguenth at gcc dot gnu.org
  2021-01-29 11:02 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-29  9:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
So testing on recent trunk shows

> /usr/bin/time ~/install/gcc-11.0/usr/local/bin/g++ t.ii -O2 -S -o /dev/null
29.23user 1.21system 0:30.54elapsed 99%CPU (0avgtext+0avgdata
5933552maxresident)k
57448inputs+0outputs (68major+1644983minor)pagefaults 0swaps
> /usr/bin/time ~/install/gcc-11.0/usr/local/bin/g++ t.ii -O2 -S -o /dev/null -fno-ree
32.17user 0.54system 0:33.12elapsed 98%CPU (0avgtext+0avgdata
1587864maxresident)k
0inputs+0outputs (0major+473366minor)pagefaults 0swaps

aka -free ups peak memory use by 4GB.  I'm testing a patch to teach it some
sanity:

> /usr/bin/time ~/install/gcc-test/usr/local/bin/g++ t.ii -O2 -S -o /dev/null         
48.63user 0.36system 0:49.01elapsed 99%CPU (0avgtext+0avgdata
1707272maxresident)k
0inputs+0outputs (0major+462159minor)pagefaults 0swaps

with only a 100MB peak RSS penalty of -free.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-01-29  9:22 ` rguenth at gcc dot gnu.org
@ 2021-01-29 11:02 ` cvs-commit at gcc dot gnu.org
  2021-01-29 11:03 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-29 11:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:a8c455bafdefdab0a7b8cdbcdb116c0086bae05e

commit r11-6971-ga8c455bafdefdab0a7b8cdbcdb116c0086bae05e
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jan 29 10:23:40 2021 +0100

    rtl-optimization/98144 - tame REE memory usage

    This changes the REE dataflow to change the explicit all-ones
    starting solution to be implicit via a visited flag, removing
    the need to initially start with fully populated bitmaps for
    all basic-blocks.  That reduces peak memory use when compiling
    the RTL checking enabled insn-extract.c testcase from PR98144
    from 6GB to less than 2GB.

    2021-01-29  Richard Biener  <rguenther@suse.de>

            PR rtl-optimization/98144
            * df.h (df_mir_bb_info): Add con_visited member.
            * df-problems.c (df_mir_alloc): Initialize con_visited,
            do not fully populate IN and OUT.
            (df_mir_reset): Likewise.
            (df_mir_confluence_0): Set con_visited.
            (df_mir_confluence_n): Properly handle implicitely
            fully populated IN and OUT as designated by con_visited
            and update con_visited accordingly.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2021-01-29 11:02 ` cvs-commit at gcc dot gnu.org
@ 2021-01-29 11:03 ` rguenth at gcc dot gnu.org
  2021-01-29 11:04 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-29 11:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
*** Bug 80930 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-01-29 11:03 ` rguenth at gcc dot gnu.org
@ 2021-01-29 11:04 ` rguenth at gcc dot gnu.org
  2021-02-03 10:23 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-29 11:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |11.0

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk, planning to do backports after a while.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2021-01-29 11:04 ` rguenth at gcc dot gnu.org
@ 2021-02-03 10:23 ` cvs-commit at gcc dot gnu.org
  2021-02-04 18:11 ` sirl at gcc dot gnu.org
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-02-03 10:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:0ca62e6abf7676af9450aa3fe0d7479c4d9e9253

commit r10-9337-g0ca62e6abf7676af9450aa3fe0d7479c4d9e9253
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jan 29 10:23:40 2021 +0100

    rtl-optimization/98144 - tame REE memory usage

    This changes the REE dataflow to change the explicit all-ones
    starting solution to be implicit via a visited flag, removing
    the need to initially start with fully populated bitmaps for
    all basic-blocks.  That reduces peak memory use when compiling
    the RTL checking enabled insn-extract.c testcase from PR98144
    from 6GB to less than 2GB.

    2021-01-29  Richard Biener  <rguenther@suse.de>

            PR rtl-optimization/98144
            * df.h (df_mir_bb_info): Add con_visited member.
            * df-problems.c (df_mir_alloc): Initialize con_visited,
            do not fully populate IN and OUT.
            (df_mir_reset): Likewise.
            (df_mir_confluence_0): Set con_visited.
            (df_mir_confluence_n): Properly handle implicitely
            fully populated IN and OUT as designated by con_visited
            and update con_visited accordingly.

    (cherry picked from commit a8c455bafdefdab0a7b8cdbcdb116c0086bae05e)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2021-02-03 10:23 ` cvs-commit at gcc dot gnu.org
@ 2021-02-04 18:11 ` sirl at gcc dot gnu.org
  2021-02-05  7:50 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: sirl at gcc dot gnu.org @ 2021-02-04 18:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Franz Sirl <sirl at gcc dot gnu.org> ---
Some data for the inhouse testcase in Bug 80930 with ASAN+UBSAN:

 gcc-9@r9-8944:   OOM killed after 15min at ~85 GB
 gcc-10@r10-9345: takes ~25min to compile, max mem ~6.5GB

Thanks for this nice improvement!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2021-02-04 18:11 ` sirl at gcc dot gnu.org
@ 2021-02-05  7:50 ` rguenth at gcc dot gnu.org
  2021-05-04 13:54 ` cvs-commit at gcc dot gnu.org
  2021-05-04 13:56 ` rguenth at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-02-05  7:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Franz Sirl from comment #13)
> Some data for the inhouse testcase in Bug 80930 with ASAN+UBSAN:
> 
>  gcc-9@r9-8944:   OOM killed after 15min at ~85 GB
>  gcc-10@r10-9345: takes ~25min to compile, max mem ~6.5GB
> 
> Thanks for this nice improvement!

Great to hear.  You can also try if cherry-picking
g:a523add327c6cfdd68cf9b788ea808068d0f508c makes a difference.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2021-02-05  7:50 ` rguenth at gcc dot gnu.org
@ 2021-05-04 13:54 ` cvs-commit at gcc dot gnu.org
  2021-05-04 13:56 ` rguenth at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-05-04 13:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:4595028e7212d6870e9e236f1f5a016b50708b7c

commit r9-9508-g4595028e7212d6870e9e236f1f5a016b50708b7c
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jan 29 10:23:40 2021 +0100

    rtl-optimization/98144 - tame REE memory usage

    This changes the REE dataflow to change the explicit all-ones
    starting solution to be implicit via a visited flag, removing
    the need to initially start with fully populated bitmaps for
    all basic-blocks.  That reduces peak memory use when compiling
    the RTL checking enabled insn-extract.c testcase from PR98144
    from 6GB to less than 2GB.

    2021-01-29  Richard Biener  <rguenther@suse.de>

            PR rtl-optimization/98144
            * df.h (df_mir_bb_info): Add con_visited member.
            * df-problems.c (df_mir_alloc): Initialize con_visited,
            do not fully populate IN and OUT.
            (df_mir_reset): Likewise.
            (df_mir_confluence_0): Set con_visited.
            (df_mir_confluence_n): Properly handle implicitely
            fully populated IN and OUT as designated by con_visited
            and update con_visited accordingly.

    (cherry picked from commit a8c455bafdefdab0a7b8cdbcdb116c0086bae05e)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled
  2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2021-05-04 13:54 ` cvs-commit at gcc dot gnu.org
@ 2021-05-04 13:56 ` rguenth at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-05-04 13:56 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |10.3.0, 9.3.1
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-05-04 13:56 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-04 14:23 [Bug rtl-optimization/98144] New: REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled rguenth at gcc dot gnu.org
2020-12-04 14:24 ` [Bug rtl-optimization/98144] " rguenth at gcc dot gnu.org
2020-12-04 14:34 ` rguenth at gcc dot gnu.org
2020-12-07  8:36 ` doko at debian dot org
2020-12-07 13:43 ` rguenth at gcc dot gnu.org
2020-12-09 14:36 ` amacleod at redhat dot com
2020-12-09 14:42 ` jakub at gcc dot gnu.org
2020-12-17 18:37 ` amacleod at redhat dot com
2021-01-29  9:22 ` rguenth at gcc dot gnu.org
2021-01-29 11:02 ` cvs-commit at gcc dot gnu.org
2021-01-29 11:03 ` rguenth at gcc dot gnu.org
2021-01-29 11:04 ` rguenth at gcc dot gnu.org
2021-02-03 10:23 ` cvs-commit at gcc dot gnu.org
2021-02-04 18:11 ` sirl at gcc dot gnu.org
2021-02-05  7:50 ` rguenth at gcc dot gnu.org
2021-05-04 13:54 ` cvs-commit at gcc dot gnu.org
2021-05-04 13:56 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).