[Bug rtl-optimization/98144] REE needs 6GB DF memory when compiling insn-extract.c with RTL checking enabled

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 4 13:54:39 GMT 2021


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)


More information about the Gcc-bugs mailing list