https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102519
--- Comment #15 from David Edelsohn <dje at gcc dot gnu.org> --- I annotated execute_vrp_threader() to call getrusage() and print the size of RSS around each call to threader.thread_jumps(). It consistently is growing, but not in the threader itself. Was the former VPR Threader intentionally or implicitly freeing some other data allocated by the compiler that the new threader is not cleaning up? Assembling functions: f_0_0_0 RSS = 569788 RSS = 569788 RSS = 569792 RSS = 569792 g_0_0_0 RSS = 569876 RSS = 569876 RSS = 569880 RSS = 569880 f_0_0_1 RSS = 569880 RSS = 569880 RSS = 569884 RSS = 569884 ... g_17_15_17 RSS = 783824 RSS = 783824 RSS = 783836 RSS = 783836 f_17_15_23 RSS = 783892 RSS = 783892 RSS = 783896 RSS = 783896 cc1: out of memory allocating 65536 bytes after a total of 1071909664 bytes