On Thu, Aug 19, 2021 at 09:03:44AM -0600, Martin Sebor via Gcc-patches wrote: > On 8/18/21 11:56 PM, Kewen.Lin wrote: > >To get rid of GTY variable alloc_object_size_limit looks suspicious, > >maybe tree objects returned by alloc_max_size after the change are out > >of GC's tracking? > > I wouldn't expect that to make a difference. There are thousands > of similar calls to build_int_cst() throughout the middle end.
But it does make a huge difference. It has nothing to do with the calls to build_int_cst, either. Please don't mess with GTY (and call it a refactoring, to add insult to injury) if you do not know what you are doing :-( > Looking at the original patch, the change that I'm not sure about > and that shouldn't have been part of the refactoring is the call > to enable_ranger() in pass_waccess::execute(). It's something > I was planning to do next. But even that I wouldn't expect to > eat up a whole 1GB or memory. The testcase is super heavy in the instruction combiner, so you get a lot of garbage. Which is not a problem, except you made the garbage collector not pick this up, so we get a ton of garbage accumulating. Segher