http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #135 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-05-12 21:33:36 UTC --- ... and mem reports on WPA stage: toplev.c:964 (realloc_for_line_map) 0: 0.0% 89473168: 9.4% 268435472:10.3% 160: 0.0% 8 cgraph.c:359 (cgraph_allocate_node) 0: 0.0% 0: 0.0% 401297520:15.3% 0: 0.0% 1286210 tree.c:1228 (build_int_cst_wide) 1188709752:33.7% 0: 0.0% 22765400: 0.9% 399425424:83.1% 208540 tree-streamer-in.c:495 (streamer_alloc_tree) 1950272016:55.3% 0: 0.0% 1143907104:43.7% 41182080: 8.6% 22462122 Total 3527995024 956449616 2618397893 480920037 47749265 source location Garbage Freed Leak Overhead Times So about 50% trees, 15% cgraph nodes (I do have plans how to get those smaller), 10% linemaps (I wonder if simple cache would not save a lot of locators), 5% inline summaries I wonder who is producing that 1GB of temporary integer nodes? Someone abusing them for counting too much? It is there before IPA, so it seems to be streaming or type machinery. Heap vectors: source location Leak Peak Times ------------------------------------------------------- ipa-reference.c:186 (set_reference_optimization_ 10289688:10.5% 11240664 13: 0.0% lto-cgraph.c:118 (lto_cgraph_encoder_encode) 12756976:13.0% 23348152 26300: 0.2% ipa-ref.c:55 (ipa_record_reference) 13593072:13.8% 41932432 1000565: 6.0% passes.c:2214 (execute_one_pass) 21214520:21.5% 41942992 557113: 3.3% ipa-inline-analysis.c:804 (inline_summary_alloc) 30037064:30.5% 30037064 1: 0.0% Total 98450004 16768143 Bitmap Overall Allocated Peak Leak searched search itr --------------------------------------------------------------------------------- ipa-reference.c:911 (propagate) 372741 31244280 31223720 31223720 0 0 ipa-reference.c:739 (propagate) 329258 13341680 3058960 3058960 0 0 ipa-reference.c:923 (propagate) 372186 25153920 25138520 25138520 0 0 ipa-reference.c:417 (init_function_info) 487263 19809560 19809560 19809560 551 335 ipa-reference.c:418 (init_function_info) 487263 19584680 19584680 19584680 79 45 ipa-reference.c:747 (propagate) 329351 13229360 3053920 3053920 0 0 Kind Nodes Bytes --------------------------------------- decls 11059354 1770384416 types 6163492 1035466656 blocks 1 80 stmts 0 0 refs 5243 267944 exprs 1826905 74999944 constants 2198755 72290570 identifiers 538891 21555640 vecs 208540 412624304 binfos 1420249 141631744 ssa names 111 8880 constructors 159169 3820056 random kinds 3270917 130837088 Honza