------- Comment #3 from rguenth at gcc dot gnu dot org 2008-09-10 08:02 ------- It indeed uses about 1.4GB ram and takes 26s (I think that's reasonable) to build the testcase. It's the DF initialize pass that requires this much memory. The function in question has 31671 basic blocks. dfinish doesn't seem to free it btw.
(gdb) print *df $56 = {problems_in_order = {0x1b25920, 0x1b259a0, 0x0, 0x0, 0x0, 0x0}, problems_by_index = {0x1b25920, 0x1b259a0, 0x0, 0x0, 0x0, 0x0}, num_problems_defined = 2, blocks_to_analyze = 0x0, analyze_subset = 0 '\0', redo_entry_and_exit = 0 '\0', def_info = {refs = 0x0, begin = 0x19ee470, count = 0x38e3e2e0, refs_size = 0, table_size = 0, total_size = 7482051, ref_order = DF_REF_ORDER_NO_TABLE}, use_info = {refs = 0x0, begin = 0x38ef7fe0, count = 0x38fb1ce0, refs_size = 0, table_size = 0, total_size = 644313, ref_order = DF_REF_ORDER_NO_TABLE}, def_regs = 0x2f766c50, use_regs = 0x38b56f20, eq_use_regs = 0x38cca900, regs_size = 190267, regs_inited = 152214, insns = 0x1d48fb0, insns_size = 792538, hardware_regs_used = 0x2ef1e640, regular_block_artificial_uses = 0x2ef1e660, eh_block_artificial_uses = 0x2ef1e680, entry_block_defs = 0x2ef1e6a0, exit_block_uses = 0x2ef1e6c0, insns_to_delete = 0x2f928b40, insns_to_rescan = 0x2f928b60, insns_to_notes_rescan = 0x2f928b80, postorder = 0x30d2c60, postorder_inverted = 0x30f1b50, n_blocks = 31671, n_blocks_inverted = 31671, hard_regs_live_count = 0x1940610, ref_order = 39346414, changeable_flags = 0} Kenny, any idea where the memory leaks? -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zadeck at naturalbridge dot | |com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-09-10 08:02:43 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448