------- Comment #34 from rguenth at gcc dot gnu dot org 2006-09-03 13:22 ------- FYI, the profile (-O2) looks like
Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 2.04 0.62 0.62 5210670 0.00 0.00 htab_find_slot_with_hash 2.01 1.23 0.61 135824 0.00 0.00 find_reloads 1.78 1.77 0.54 1181450 0.00 0.00 constrain_operands 1.71 2.29 0.52 1667653 0.00 0.00 walk_tree 1.64 2.79 0.50 113076 0.00 0.00 record_reg_classes 1.18 3.15 0.36 1374013 0.00 0.00 for_each_rtx_1 1.15 3.50 0.35 2188275 0.00 0.00 iterative_hash_expr 1.02 3.81 0.31 13803214 0.00 0.00 bitmap_bit_p 0.99 4.11 0.30 146294 0.00 0.00 reload_cse_simplify_operands 0.92 4.39 0.28 8238693 0.00 0.00 bitmap_set_bit 0.89 4.66 0.27 13524760 0.00 0.00 is_gimple_min_invariant 0.85 4.92 0.26 1944894 0.00 0.00 extract_insn 0.76 5.15 0.23 3242786 0.00 0.00 note_stores 0.76 5.38 0.23 1848575 0.00 0.00 mark_set_1 0.76 5.61 0.23 1073359 0.00 0.00 fold_binary 0.69 5.82 0.21 3530376 0.00 0.00 ix86_decompose_address 0.66 6.02 0.20 2801807 0.00 0.00 is_gimple_reg 0.66 6.22 0.20 101 0.00 0.02 reload 0.62 6.41 0.19 6596295 0.00 0.00 find_reg_note 0.62 6.60 0.19 3748843 0.00 0.00 ggc_alloc_stat 0.62 6.79 0.19 1543768 0.00 0.00 force_fit_type 0.59 6.97 0.18 5160059 0.00 0.00 pool_alloc 0.59 7.15 0.18 937999 0.00 0.00 make_node_stat 0.59 7.33 0.18 1915 0.00 0.00 cleanup_cfg 0.56 7.50 0.17 2132681 0.00 0.00 mark_all_vars_used_1 0.56 7.67 0.17 1015399 0.00 0.00 get_expr_operands 0.56 7.84 0.17 263419 0.00 0.00 cse_insn 0.53 8.00 0.16 2162651 0.00 0.00 cselib_lookup 0.53 8.16 0.16 1176845 0.00 0.00 mark_used_regs 0.53 8.32 0.16 101 0.00 0.01 reload_as_needed 0.49 8.47 0.15 1748131 0.00 0.00 operand_equal_p 0.49 8.62 0.15 1160005 0.00 0.00 propagate_one_insn 0.49 8.77 0.15 1086424 0.00 0.00 et_splay 0.49 8.92 0.15 1030222 0.00 0.00 rtx_cost 0.49 9.07 0.15 523805 0.00 0.00 count_reg_usage 0.46 9.21 0.14 3222872 0.00 0.00 memory_operand 0.46 9.35 0.14 1651283 0.00 0.00 htab_find_with_hash 0.46 9.49 0.14 693604 0.00 0.00 rewrite_update_stmt 0.46 9.63 0.14 457856 0.00 0.00 mul_double we're hashing SCEV data a lot: 0.01 0.07 285600/2683522 set_instantiated_value [395] 0.01 0.09 398929/2683522 build_int_cst_wide [214] 0.02 0.20 864500/2683522 find_var_scev_info [184] [68] 2.3 0.06 0.63 2683522 htab_find_slot [68] 0.34 0.16 2683522/11019933 htab_find_slot_with_hash <cycle 26> [53] 0.03 0.00 1150100/1603800 hash_scev_info [589] 0.06 0.03 125694/1181450 reload_cse_simplify_operands [94] 0.09 0.05 201473/1181450 find_matches [200] 0.32 0.16 698486/1181450 extract_constrain_insn_cached [67] [61] 2.7 0.54 0.28 1181450+14400 constrain_operands [61] 0.01 0.15 806498/873917 strict_memory_address_p [236] 0.05 0.00 272106/402044 operands_match_p [415] 0.05 0.04 100911/1588625 create_ssa_var_map [329] 0.07 0.06 144529/1588625 walk_tree_without_duplicates [268] 0.14 0.13 292781/1588625 count_uses_and_derefs [149] 0.21 0.20 450984/1588625 remove_unused_locals [111] [44] 3.9 0.52 0.68 1667653+3246362 walk_tree <cycle 20> [44] 0.06 0.18 337362/337362 find_used_portions [189] 0.08 0.12 1659486/1659486 pointer_set_insert [209] 0.00 0.06 97327/97327 scan_for_refs [487] 0.05 0.00 1267779/1267779 count_ptr_derefs [525] 0.01 0.56 143418/143418 regclass [71] [80] 1.9 0.01 0.56 143418 scan_one_insn [80] 0.50 0.04 113076/113076 record_reg_classes [85] 0.01 0.01 100486/1944894 extract_insn [121] 0.00 0.07 209960/1775362 x86_extended_reg_mentioned_p [364] 0.02 0.26 747868/1775362 approx_reg_cost [165] [70] 2.2 0.04 0.62 1775362 for_each_rtx [70] 0.36 0.20 1374013/1374013 for_each_rtx_1 [82] 0.01 0.03 195736/659311 check_dependence [310] 0.03 0.01 202137/2188275 vn_add_with_vuses [301] 0.06 0.02 385100/2188275 phi_translate [110] 0.07 0.03 453965/2188275 vn_lookup_with_vuses [197] 0.11 0.04 687546/2188275 initialize_hash_element [235] [96] 1.6 0.35 0.14 2188275+2621356 iterative_hash_expr [96] 0.11 0.00 1329048/1332689 iterative_hash [318] 0.03 0.00 1131815/1907772 commutative_tree_code [523] 0.01 0.00 508000/13803214 build_tree_conflict_graph [618] 0.01 0.00 541400/13803214 propagate_one_insn [31] 0.02 0.00 793747/13803214 rewrite_update_stmt [215] 0.02 0.00 997246/13803214 mark_block_for_update [547] 0.03 0.00 1120737/13803214 set_contains_value [338] 0.03 0.00 1314587/13803214 prepare_block_for_update [138] 0.03 0.00 1484822/13803214 mark_set_1 [87] 0.06 0.00 2575352/13803214 mark_used_reg [195] [146] 1.0 0.31 0.00 13803214 bitmap_bit_p [146] 0.01 0.88 101/101 rest_of_handle_postreload [58] [57] 2.9 0.01 0.88 101 reload_cse_regs [57] 0.02 0.84 202/202 reload_cse_regs_1 [59] 0.02 0.84 202/202 reload_cse_regs [57] [59] 2.8 0.02 0.84 202 reload_cse_regs_1 [59] 0.30 0.20 146294/146294 reload_cse_simplify_operands [94] 0.01 0.00 240636/8238693 set_def_block [398] 0.01 0.00 318100/8238693 compute_dominance_frontiers [480] 0.02 0.00 451869/8238693 update_alias_info [118] 0.03 0.00 837338/8238693 insert_into_set [176] 0.03 0.00 1004991/8238693 mark_set_1 [87] 0.04 0.00 1218828/8238693 mark_used_reg [195] [166] 0.9 0.28 0.00 8238693 bitmap_set_bit [166] 0.01 0.00 623522/13524760 value_insert_into_set [280] 0.03 0.00 1279640/13524760 set_contains_value [338] 0.03 0.00 1478781/13524760 insert_into_set [176] 0.10 0.00 4785141/13524760 get_value_handle [203] [170] 0.9 0.27 0.00 13524760 is_gimple_min_invariant [170] -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18687