Comment # 15 on bug 1202027 from
(In reply to Martin Li������ka from comment #14)
> These functions are affected:
> 
>  ;; Function hash_table<default_hash_traits<tree_node*>, false,
> xcallocator>::find_empty_slot_for_expand
> (_ZN10hash_tableI19default_hash_traitsIP9tree_nodeELb0E11xcallocatorE26find_e
> mpty_slot_for_expandEj, funcdef_no=3135, decl_uid=118436, cgraph_uid=2254,
> symbol_order=2435)

That's a tree hash (I think using pointer hashing).

>  ;; Function hash_table<default_hash_traits<tree_node*>, false,
> xcallocator>::find_slot_with_hash
> (_ZN10hash_tableI19default_hash_traitsIP9tree_nodeELb0E11xcallocatorE19find_s
> lot_with_hashERKS2_j13insert_option, funcdef_no=2928, decl_uid=118365,
> cgraph_uid=2047, symbol_order=2228)
>  ;; Function hash_table_mod2 (_Z15hash_table_mod2jj, funcdef_no=1065,
> decl_uid=33219, cgraph_uid=354, symbol_order=368)

But this suggests the actual table load differs?!

>  ;; Function hash_table<hash_map<tree_node*, tree_node*>::hash_entry, false,
> xcallocator>::find_empty_slot_for_expand
> (_ZN10hash_tableIN8hash_mapIP9tree_nodeS2_21simple_hashmap_traitsI19default_h
> ash_traitsIS2_ES2_EE10hash_entryELb0E11xcallocatorE26find_empty_slot_for_expa
> ndEj, funcdef_no=3327, decl_uid=112248, cgraph_uid=2446, symbol_order=2623)
>  ;; Function hash_table<hash_map<tree_node*, tree_node*>::hash_entry, false,
> xcallocator>::find_slot_with_hash
> (_ZN10hash_tableIN8hash_mapIP9tree_nodeS2_21simple_hashmap_traitsI19default_h
> ash_traitsIS2_ES2_EE10hash_entryELb0E11xcallocatorE19find_slot_with_hashERKS2
> _j13insert_option, funcdef_no=3056, decl_uid=112177, cgraph_uid=2175,
> symbol_order=2352)
>  ;; Function hash_table<hash_map<tree_node*, tree_node*>::hash_entry, false,
> xcallocator>::find_with_hash
> (_ZN10hash_tableIN8hash_mapIP9tree_nodeS2_21simple_hashmap_traitsI19default_h
> ash_traitsIS2_ES2_EE10hash_entryELb0E11xcallocatorE14find_with_hashERKS2_j,
> funcdef_no=3048, decl_uid=112166, cgraph_uid=2167, symbol_order=2344)
>  ;; Function hash_table<default_hash_traits<tree_node*>, false,
> xcallocator>::find_with_hash
> (_ZN10hash_tableI19default_hash_traitsIP9tree_nodeELb0E11xcallocatorE14find_w
> ith_hashERKS2_j, funcdef_no=2698, decl_uid=118471, cgraph_uid=1818,
> symbol_order=2019)
>  ;; Function get_terminal_width (_Z18get_terminal_widthv, funcdef_no=1638,
> decl_uid=40874, cgraph_uid=752, symbol_order=778)
>  ;; Function hash_table<indirect_string_hasher>::find_slot_with_hash
> (_ZN10hash_tableI22indirect_string_hasherLb0E11xcallocatorE19find_slot_with_h
> ashERKPKcj13insert_option, funcdef_no=3536, decl_uid=133145,
> cgraph_uid=2647, symbol_order=2952)
>  ;; Function ggc_internal_cleared_alloc
> (_Z26ggc_internal_cleared_allocmPFvPvEmm, funcdef_no=1531, decl_uid=30171,
> cgraph_uid=670, symbol_order=708)
>  ;; Function ggc_internal_alloc (_Z18ggc_internal_allocmPFvPvEmm,
> funcdef_no=2551, decl_uid=30102, cgraph_uid=1662, symbol_order=1833)

And these suggest the same - do we see the invocation count of
ggc_internal_alloc and does that differ?

>  ;; Function ggc_round_alloc_size_1 (_ZL22ggc_round_alloc_size_1mPmS_,
> funcdef_no=2548, decl_uid=116089, cgraph_uid=1659, symbol_order=1830)
>  ;; Function hash_table<int_cst_hasher>::find_slot_with_hash
> (_ZN10hash_tableI14int_cst_hasherLb0E11xcallocatorE19find_slot_with_hashERKP9
> tree_nodej13insert_option, funcdef_no=4799, decl_uid=145332,
> cgraph_uid=3868, symbol_order=4076)
>  ;; Function generic_wide_int<wide_int_ref_storage<true, false> >::sign_mask
> (_ZNK16generic_wide_intI20wide_int_ref_storageILb1ELb0EEE9sign_maskEv,
> funcdef_no=4766, decl_uid=17596, cgraph_uid=3835, symbol_order=4043)
>  ;; Function hash_table<int_cst_hasher>::find_slot
> (_ZN10hash_tableI14int_cst_hasherLb0E11xcallocatorE9find_slotERKP9tree_node13
> insert_option, funcdef_no=4313, decl_uid=145328, cgraph_uid=3382,
> symbol_order=3590)
>  ;; Function generic_wide_int<wide_int_storage>::elt
> (_ZNK16generic_wide_intI16wide_int_storageE3eltEj, funcdef_no=4291,
> decl_uid=16632, cgraph_uid=3360, symbol_order=3568)
>  ;; Function wi::neg_p<generic_wide_int<wide_int_storage> >
> (_ZN2wi5neg_pI16generic_wide_intI16wide_int_storageEEEbRKT_6signop,
> funcdef_no=4290, decl_uid=148263, cgraph_uid=3359, symbol_order=3567)
>  ;; Function make_int_cst (_Z12make_int_cstii, funcdef_no=3624,
> decl_uid=102817, cgraph_uid=2697, symbol_order=2893)
>  ;; Function wide_int_to_tree_1
> (_ZL18wide_int_to_tree_1P9tree_nodeRK16generic_wide_intI20wide_int_ref_storag
> eILb0ELb1EEE, funcdef_no=3573, decl_uid=149059, cgraph_uid=2646,
> symbol_order=2842)
>  ;; Function cache_wide_int_in_type_cache
> (_ZL28cache_wide_int_in_type_cacheP9tree_nodeRK16generic_wide_intI16wide_int_
> storageEii, funcdef_no=3572, decl_uid=149054, cgraph_uid=2645,
> symbol_order=2841)
>  ;; Function int_cst_hasher::equal
> (_ZN14int_cst_hasher5equalEP9tree_nodeS1_, funcdef_no=3571, decl_uid=144691,
> cgraph_uid=2644, symbol_order=2840)
>  ;; Function int_cst_hasher::hash (_ZN14int_cst_hasher4hashEP9tree_node,
> funcdef_no=3570, decl_uid=144688, cgraph_uid=2643, symbol_order=2839)
>  ;; Function build_new_int_cst
> (_ZL17build_new_int_cstP9tree_nodeRK16generic_wide_intI16wide_int_storageE,
> funcdef_no=3563, decl_uid=148268, cgraph_uid=2636, symbol_order=2832)
>  ;; Function get_int_cst_ext_nunits
> (_ZL22get_int_cst_ext_nunitsP9tree_nodeRK16generic_wide_intI16wide_int_storag
> eE, funcdef_no=3562, decl_uid=148261, cgraph_uid=2635, symbol_order=2831)
>  ;; Function hash_table_mod1 (_Z15hash_table_mod1jj, funcdef_no=1064,
> decl_uid=33214, cgraph_uid=353, symbol_order=367)
>  ;; Function iterative_hash_host_wide_int
> (_Z28iterative_hash_host_wide_intlj, funcdef_no=1014, decl_uid=32338,
> cgraph_uid=349, symbol_order=362)
>  ;; Function default_elf_asm_output_ascii
> (_Z28default_elf_asm_output_asciiP8_IO_FILEPKcj, funcdef_no=2992,
> decl_uid=128822, cgraph_uid=2049, symbol_order=2260)
>  ;; Function cpp_interpret_integer
> (_Z21cpp_interpret_integerP10cpp_readerPK9cpp_tokenj, funcdef_no=299,
> decl_uid=14009, cgraph_uid=202, symbol_order=220)
>  ;; Function nonexistent_file_hash_eq (_ZL24nonexistent_file_hash_eqPKvS0_,
> funcdef_no=320, decl_uid=15648, cgraph_uid=223, symbol_order=243)
>  ;; Function filename_cmp (filename_cmp, funcdef_no=25, decl_uid=3122,
> cgraph_uid=26, symbol_order=25)
>  ;; Function htab_find_slot_with_hash (htab_find_slot_with_hash,
> funcdef_no=42, decl_uid=3888, cgraph_uid=43, symbol_order=45)
>  ;; Function htab_find_with_hash (htab_find_with_hash, funcdef_no=40,
> decl_uid=3883, cgraph_uid=41, symbol_order=43)
>  ;; Function find_empty_slot_for_expand (find_empty_slot_for_expand,
> funcdef_no=38, decl_uid=3946, cgraph_uid=39, symbol_order=41)
>  ;; Function htab_mod_m2 (htab_mod_m2, funcdef_no=29, decl_uid=3936,
> cgraph_uid=30, symbol_order=32)

in the end most of the above could be secondary order effects by getting
different profile for different generated code?  We profile the stage2
compiler after all?


You are receiving this mail because: