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.