This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/80930] REE pass causes high memory usage via df_mir_alloc() with ASAN+UBSAN turned on
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 01 Jun 2017 12:46:35 +0000
- Subject: [Bug rtl-optimization/80930] REE pass causes high memory usage via df_mir_alloc() with ASAN+UBSAN turned on
- Auto-submitted: auto-generated
- References: <bug-80930-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80930
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |memory-hog
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-06-01
Component|middle-end |rtl-optimization
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
#3 0x0000000000c8d454 in df_analyze_problem (n_blocks=299166,
postorder=0x17168b2e0, blocks_to_consider=<optimized out>, dflow=0x16b830fb0)
at ../../gcc/df-core.c:1165
^^^
so it looks like the MIR probem is quadratic somehow (well, I can easily see
that it is, if sth is must-initialized in BB N then it is must-initialized in
all post-dominators). REE should cap itself on some reasonably large
n_blocks * number_of_pseudos, at least at -O1 (which we recommend to
insanely large code bases).
Or it should work on sub-CFGs or simply only disable the cases that absoultely
need MIR info if the problem gets too large.
Confirmed by virtue of looking even w/o a testcase.