------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-12 10:52 ------- The second testcase works for me on current mainline if adding a class UltraRoot forward declaration at the top. It takes around 1m30 to compile and uses up max. 522913kB of memory (1GB box, P4 2.8GHz) at -O2. Still aliasing accounts for the most time:
samples % image name symbol name 694 26.6411 cc1plus add_stmt_operand 209 8.0230 cc1plus ldst_entry 193 7.4088 cc1plus create_ssa_artficial_load_stmt 181 6.9482 cc1plus compute_global_livein 57 2.1881 cc1plus bitmap_bit_p 50 1.9194 no-vmlinux (no symbols) 45 1.7274 cc1plus compute_may_aliases 42 1.6123 cc1plus invalidate 36 1.3820 cc1plus bitmap_ior_and_compl_into 35 1.3436 cc1plus bitmap_set_bit 35 1.3436 cc1plus for_each_rtx_1 33 1.2668 cc1plus check_dependence 29 1.1132 cc1plus splay_tree_splay_helper 28 1.0749 cc1plus htab_find_slot_with_hash The 2nd is from GCSE, 3rd from DOM, 4th from either into-ssa or ssa-loop-manip. Time-report: tree SSA incremental : 14.27 (17%) usr 0.11 ( 3%) sys 14.46 (16%) wall 12827 kB ( 2%) ggc tree operand scan : 15.62 (18%) usr 0.27 ( 8%) sys 15.93 (18%) wall 59212 kB (10%) ggc dominator optimization: 8.67 (10%) usr 0.05 ( 1%) sys 8.64 (10%) wall 110089 kB (19%) ggc PRE : 6.14 ( 7%) usr 0.01 ( 0%) sys 6.13 ( 7%) wall 536 kB ( 0%) ggc ldst_entry is walking a list to find an element by hash-id. Throw some memory at it to add a real hashtable for lookup besides the list. The DOM stuff looks like value numbering still in DOM, hopefully it will be ripped out. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855