------- Comment #9 from jakub at gcc dot gnu dot org  2010-02-24 18:25 -------
It is vt_emit_notes that eats all the memory, not vt_find_locations, and the
memory doesn't go into the hash tables, but for rtx allocation.
I've printed ggc statistics on vt_emit_notes entry and after I left it eat an
extra GB or so.  The differences are primarily in 24, 32 and 64 byte GGC
allocations, jumping from 16 to 250MB, 8 to 212 MB and 5 to 417 MB respectively
for 24/32/64 byte orders, and get_max_uid () jumped from ~ 92000 to 6888627,
which means all the memory is eaten by millions of generated var_location
notes.
Haven't investigated yet why they are created in such a huge volume that often.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43058

Reply via email to