https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116743

--- Comment #18 from Eugene Rozenfeld <erozen at microsoft dot com> ---
Hi Rama.

I started looking at this. Below is what the info looks like for
ha_innobase::build_template in the gcov file you shared. If you look near the
end, you can see counts for calls to build_template_needs_field_in_icp but
nothing for the basic blocks that call build_template_needs_field. This is
probably why the compiler thinks that calls to build_template_needs_field are
unlikely and decides not to inline them. Is this gcov file generated by
profiling the same scenario that you then use to get your throughput numbers?

_ZN11ha_innobase14build_templateEb total:66636 head:0
  0: 986
  4: 103
  5: 22
  8: 68
  13: 0
  14: 1288
  15: 1383
  19: 0
  27: 0
  31: 162
  46.2: 30
  48.2: 33
  48.4: 163
  57.4: 916
  59.4: 498
  60: 0
  61: 0
  69: 202
  71: 816
  74: 1461
  75: 1143
  76: 1384
  77: 67
  78: 266
  83: 76
  83.1: 63
  84: 27
  87: 107
  87.2: 35
  90: 434
  90.1: 0
  91: 0
  94: 184
  112: 307
  112.1: 0
  113: 164
  119: 18
  120: 0
  122: 39
  123: 15
  125: 1
  126: 13
  133: 9
  138: 17
  143: 122
  169: 150
  169.1: 0
  170.1: 0
  177: 0
  181: 2
  181.2: 77
  185: 347
  185.1: 0
  186: 0
  189: 167
  192: 250
  192.1: 0
  194: 128
  199: 12
  200: 8
  202: 33
  203: 42
  205: 2
  206: 106
  206.1: 0
  207.1: 0
  213: 10
  216: 34
  217: 12
  222: 2
  225: 82
  227: 58
  229: 60
  229.2: 753
  231: 13252
  231.1: 0
  233: 3813
  240: 343
  240.1: 0
  240.3: 0
  241.3: 0
  244: 0
  245: 0
  246: 0
  249: 0
  254: 0
  256: 574
  259: 839
  260: 760
  262: 363
  264: 0
  270: 1287
  276: 3074
  277: 11192
  279: 475
  280: 0
  283: 10535
  284: 522
  289: 191
  289.1: 62
  292: 43
  292.3: 45
  295.3: 71
  298: 875
  59611: 0
  44: _ZN12dict_table_t11first_indexEv total:70
    2: _ZNK12dict_table_t11first_indexEv total:70
      2: 70
  60: _ZN2ut14malloc_withkeyENS_16PSI_memory_key_tEm total:0
    3:
_ZN2ut6detail6Alloc_INS0_9Alloc_pfsEE5allocILb0ES2_EENSt9enable_ifIXsrT0_21is_pfs_instrumented_vEPvE4typeEmj
total:0
      1: _ZN2ut6detail9Alloc_pfs5allocILb0EEEPvmj total:0
        2: 0
        4: 0
        10: 0
        21: 0
        8199: 0
        3: _ZN2ut6detail8Alloc_fn5allocILb0EEEPvm total:0
          4: _ZN2ut6detail8Alloc_fn6mallocEm total:0
            0: _ZN2ut6detail6mallocEm total:0
              0: 0
        15: _ZN2ut6detail12PFS_metadata17pfs_owning_threadEPvP10PSI_thread
total:0
          2: 0
        16: _ZN2ut6detail12PFS_metadata11pfs_datalenEPvm total:0
          3: 0
        17: _ZN2ut6detail12PFS_metadata7pfs_keyEPvj total:0
          2: 0
        18: _ZN2ut6detail12PFS_metadata14pfs_metaoffsetEPvm total:0
          3: 0
  113:
_Z33build_template_needs_field_in_icpPK12dict_index_tPK14row_prebuilt_tbmb
total:25
    11.4: 25
    12: 0
  194:
_Z33build_template_needs_field_in_icpPK12dict_index_tPK14row_prebuilt_tbmb
total:33
    11.4: 33
    12: 0
  277: _ZNK12dict_index_t12is_clusteredEv total:3235
    3: 3235

Reply via email to