This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 May 2008 12:28:10 -0000
- Subject: [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
- References: <bug-36291-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-22 12:28 -------
One slow "leaker" of memory for large TUs is the operands_bitmap_obstack from
the operand scanner. From it the stmt annotation loaded and stored symbols
bitmaps are allocated but never freed until after the last function has gone
out of SSA.
We should consider moving these to GC memory or to add support for using alloc
pools for bitmap allocations.
Memory partitioning uses loads of bitmaps for the parent tags:
tree-ssa-alias.c:1311 (update_reference_c 5424467 433957360 433957360
433957360 76199616
Likewise PTA still does that:
tree-ssa-structalias.c:4850 (find_what_p_ 62908 555059880 42045880
42032640 62415
Overall the variable annotations account for most of the GC memory used:
tree-ssanames.c:146 (make_ssa_name_fn) 33297312: 2.1% 0:
0.0% 0: 0.0% 0: 0.0% 346847
bitmap.c:229 (bitmap_element_allocate) 116709320: 7.4% 0:
0.0% 0: 0.0% 16672760:11.7% 2084095
ggc-common.c:179 (ggc_calloc) 409212224:25.8% 12684056:
5.0% 1974632: 2.2% 4572784: 3.2% 194426
tree-dfa.c:153 (create_var_ann) 482008296:30.4% 0:
0.0% 0: 0.0% 43818936:30.6% 5477367
Total 1586488294 255567175
90963544 143104669 18411405
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291