https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854
--- Comment #134 from Richard Biener <rguenth at gcc dot gnu.org> --- We can see from _num.i detailled stats df_chain_block pool df-problems.c:2398 (df_chain_alloc) 152 0: 0.0% 937593072 61860737: 90.1% 24 which shows an odd element size (expected is 16) which comes from base_pool_allocator::allocation_object having a ALLOC_POOL_ID_TYPE member by default. Then we have (bitmaps) df-problems.c:1914 (df_mir_alloc) 615680: 0.2% 249285640 12495192: 13.3% 0 0 heap df-problems.c:1915 (df_mir_alloc) 615880: 0.2% 249285680 12495197: 13.3% 0 0 heap ... tree-ssa-structalias.c:1268 (build_pred_graph) 62026224: 15.9% 62048368 7961338: 8.5% 186859 248364 heap df-problems.c:3658 (df_note_compute) 88025520: 22.6% 88026080 3719686: 4.0% 515641 1741186 heap df-problems.c:4405 (df_md_alloc) -39759960:4741239668736.0% -40 520627: 0.6% 0 0 heap df-problems.c:225 (df_rd_alloc) -17948440:4741239668736.0% -40 284572: 0.3% 0 0 heap with the overflow thing (and the odd leaks which probably are not properly tracking when we release bitmaps via releasing the bitmap obstack?) Most interesting is the peak number, highest for df_mir_alloc. Eventually we can do sth to shrink that peak usage by freeing unneeded bitmaps earlier. Compile-time looks reasonable. I'll have a look at the accounting overflows and reducing the pool allocator overhead as well as looking at the MIR problem bitmap use.