[Bug rtl-optimization/98863] WRF with LTO consumes a lot of memory in REE, CPROP, PRE and LRA passes

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 29 15:56:21 GMT 2021


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

--- Comment #28 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Richard Biener from comment #27)
> HJ, you added remove_partial_avx_dependency - it adds loads of DF problems
> but during its execution it does not seem to use anything but doing
> df_insn_rescan.  I'm not too familiar with DF so I assume calling
> df_analyze is necessary to mark insns for rescan (I'd assume _not_ calling
> df_analyze but only setting defered-rescan and not processing defered
> rescans in a pass not needing DF at all should work?!  Or even defered
> rescan is default on in that case).
> 
> Besides this the pass ups memory use from 2GB to 7GB and memory use doesn't
> drop so there's sth fishy going on here.
> 
> I'm testing the obvious remove of
> 
>               df_chain_add_problem (DF_DU_CHAIN | DF_UD_CHAIN);
>               df_md_add_problem ();
> 
> which was likely copied from STV (where I removed adding MD), but STV
> _does_ at least use DF and exercises use/def chains.
> 
> I'm also not sure altering the CFG is the very best thing to do when
> DF is active (and doing that with MD or DU/UD might cause interesting
> unknown issues I guess).  At least with not adding MD or DU/UD_CHAIN
> the "leak" is gone.  Richard or Jakub may know more here, esp. whether
> we can elide the df_analyze completely (I hope we can!).  Even
> DF_LIVE and LR alone are a major hog on this testcase (but at least
> stay within 2GB of memory while RD tops at 7GB).

If it isn't used, please remove it.


More information about the Gcc-bugs mailing list