diff options
author | Richard Biener <rguenther@suse.de> | 2021-01-29 10:23:40 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-01-29 12:01:58 +0100 |
commit | a8c455bafdefdab0a7b8cdbcdb116c0086bae05e (patch) | |
tree | c318bcce8af65f7e9d2ad4a93cbea2376baa146a /gcc/tree-ssa-loop-niter.c | |
parent | e7429bc9d60c0cb9809a8040bb63dbb9390f40f1 (diff) | |
download | gcc-a8c455bafdefdab0a7b8cdbcdb116c0086bae05e.zip gcc-a8c455bafdefdab0a7b8cdbcdb116c0086bae05e.tar.gz gcc-a8c455bafdefdab0a7b8cdbcdb116c0086bae05e.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
0 files changed, 0 insertions, 0 deletions