[Bug rtl-optimization/80930] REE pass causes high memory usage via df_mir_alloc() with ASAN+UBSAN turned on

2021-01-29 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80930

Richard Biener  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|NEW |RESOLVED

--- Comment #3 from Richard Biener  ---
duping, fixed on trunk sofar.

*** This bug has been marked as a duplicate of bug 98144 ***

[Bug rtl-optimization/80930] REE pass causes high memory usage via df_mir_alloc() with ASAN+UBSAN turned on

2017-06-02 Thread sirl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80930

--- Comment #2 from Franz Sirl  ---
Further investigation shows that "-O2 -fsanitize=undefined" is enough to
trigger the excessive memory usage.
The big difference between GCC-6 and GCC-7 is that the function causing this
has ~20 blocks in GCC-6 and ~30 blocks in GCC-7. I'll try to
investigate the reason for this 50% increase a bit.

[Bug rtl-optimization/80930] REE pass causes high memory usage via df_mir_alloc() with ASAN+UBSAN turned on

2017-06-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80930

Richard Biener  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  ---
#3  0x00c8d454 in df_analyze_problem (n_blocks=299166,
postorder=0x17168b2e0, blocks_to_consider=, 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.