GCC 10 introduced some changes to its handling of functions inline
optimization. These changes are described in its changelist
(https://gcc.gnu.org/gcc-10/changes.html) as following:
> Inter-procedural optimization improvements:
> ...
> -finline-functions is now enabled at -O2 and was retuned for better
code size versus runtime performance trade-offs. Inliner heuristics was
also significantly sped up to avoid negative impact to -flto -O2 compile
times.
Parameter 'inline-functions' was disabled by default in GCC 9 at O2
optimization level, so compiler was considering only functions marked
with 'inline' keyword as suitable for inline optimization. This behavior
was changed in GCC 10: now this option is enabled at the O2 level, so
even functions not explicitly marked as eligible for inline may be still
optimized in such way. To compensate influence of this change on
compiling time and resulting code size a set of threshold parameters
were changed. In particular, following parameters were changed:
* 'early-inlining-insns' from 14 to 6 ("Specify growth that the early
inliner can make. In effect it increases the amount of inlining for code
having a large abstraction penalty.")
* 'max-inline-insns-single' from 200 to 70 ("This number sets the
maximum number of instructions (counted in GCC’s internal
representation) in a single function that the tree inliner considers for
inlining. This only affects functions declared inline and methods
implemented in a class declaration (C++).")
* 'max-inline-insns-auto' from 30 to 15 ("When you use
-finline-functions, a lot of functions that would otherwise not be
considered for inlining by the compiler are investigated. To those
functions, a different (more restrictive) limit compared to functions
declared inline can be applied (--param max-inline-insns-auto).")
* 'inline-min-speedup' from 15 to 30 ("When estimated performance
improvement of caller + callee runtime exceeds this threshold (in
percent), the function can be inlined regardless of the limit on --param
max-inline-insns-single and --param max-inline-insns-auto.")
The notable change here is related to decrease of
'max-inline-insns-single' parameter value. GCC 10+ now may decide to
avoid optimizing functions with explicit 'inline' attribute if it is
large enough to violate the new threshold. This mean that some functions
which were inlined in GCC 9 / O2 builds will not be inlined in GCC 10+ /
O2 builds. In particular, GCC 9 build of current master shows only 15
instances of functions violating old threshold value (see attached
'not-inlined-gcc-9.txt' file), while GCC 10 build has 174 cases for new
threshold (see 'not-inlined-gcc-10.txt'). Note, that this applies only
to O2 builds, while O3 level uses old threshold values.
The primary goal of this message is just to raise an awareness of this
change and its possible influence on resulting builds.
Theoretically speaking, this change is not an issue by itself, as each
compiler is in its right to adjust its optimization logic. Certain build
pipeline could always have adjusted parameters if its maintainer is
unsatisfied with default compiler heuristics. Inlining for functions
marked with 'inline' is not guaranteed anyway (GCC 9 was already
deciding to skip some of these functions as was shown above) and O2
level is not the most aggressive optimization level in GCC as well.
However, the GCC / O2 build is the most common configuration for Linux
builds, so it's worth looking on whether code generated on this level is
matching developers expectations. In particular, for some functions it
may be beneficial to use 'pg_attribute_always_inline' instead of plain
'inline' if function body is large enough to violate the new thresholds.
Thanks,
Alexey
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/615 ->
json_lex_string/616, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/613 ->
json_lex_string/614, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/652 ->
json_lex_string/653, --param max-inline-insns-single limit reached
src/backend/commands/copyfrom.c:1464:4: missed: not inlinable: CopyFrom/477
-> CopyMultiInsertInfoFlush/473, --param max-inline-insns-single limit reached
src/backend/commands/copyfrom.c:1390:7: missed: not inlinable: CopyFrom/477
-> CopyMultiInsertInfoFlush/473, --param max-inline-insns-single limit reached
src/backend/commands/copyfrom.c:1252:6: missed: not inlinable: CopyFrom/477
-> CopyMultiInsertInfoFlush/473, --param max-inline-insns-single limit reached
src/backend/nodes/tidbitmap.c:1318:9: missed: not inlinable:
tbm_mark_page_lossy/359 -> pagetable_insert/326, --param
max-inline-insns-single limit reached
src/backend/nodes/tidbitmap.c:1230:10: missed: not inlinable:
tbm_get_pageentry/357 -> pagetable_insert/326, --param max-inline-insns-single
limit reached
src/backend/nodes/tidbitmap.c:295:10: missed: not inlinable:
tbm_create_pagetable/338 -> pagetable_insert/326, --param
max-inline-insns-single limit reached
src/backend/utils/activity/pgstat.c:1030:11: missed: not inlinable:
pgstat_fetch_entry/448 -> pgstat_snapshot_insert/416, --param
max-inline-insns-single limit reached
src/backend/utils/activity/pgstat.c:1001:12: missed: not inlinable:
pgstat_fetch_entry/448 -> pgstat_snapshot_insert/416, --param
max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:5022:2: missed: not inlinable:
circle_div_pt/379 -> point_div_point.isra.0/583, --param
max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:4291:2: missed: not inlinable: box_div/340 ->
point_div_point.isra.0/583, --param max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:4290:2: missed: not inlinable: box_div/340 ->
point_div_point.isra.0/583, --param max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:4204:2: missed: not inlinable: point_div/335
-> point_div_point.isra.0/583, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
blockreftable_insert/61 -> blockreftable_insert_hash_internal/60, --param
max-inline-insns-single limit reached
src/common/d2s.c:807:10: missed: not inlinable: to_chars.isra/74 ->
to_chars_df.isra/75, --param max-inline-insns-single limit reached
src/common/d2s.c:1042:9: missed: not inlinable:
double_to_shortest_decimal_bufn/50 -> to_chars.isra/74, --param
max-inline-insns-single limit reached
src/common/d2s.c:1039:7: missed: not inlinable:
double_to_shortest_decimal_bufn/50 -> d2d/46, --param max-inline-insns-single
limit reached
src/common/f2s.c:769:9: missed: not inlinable:
float_to_shortest_decimal_bufn/45 -> to_chars/43, --param
max-inline-insns-single limit reached
src/common/f2s.c:766:7: missed: not inlinable:
float_to_shortest_decimal_bufn/45 -> f2d/41, --param max-inline-insns-single
limit reached
src/common/f2s.c:581:10: missed: not inlinable: to_chars/43 -> to_chars_f/42,
--param max-inline-insns-single limit reached
src/common/jsonapi.c:1882:14: missed: not inlinable: json_lex/615 ->
json_lex_number/617, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1866:14: missed: not inlinable: json_lex/615 ->
json_lex_number/617, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/615 ->
json_lex_string/616, --param max-inline-insns-single limit reached
src/common/jsonapi.c:367:2: missed: not inlinable: IsValidJsonNumber/591 ->
json_lex_number/617, --param max-inline-insns-single limit reached
src/common/unicode_case.c:415:8: missed: not inlinable: casemap/52 ->
case_index/39, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
blockreftable_insert/61 -> blockreftable_insert_hash_internal/60, --param
max-inline-insns-single limit reached
src/common/d2s.c:807:10: missed: not inlinable: to_chars.isra/73 ->
to_chars_df.isra/74, --param max-inline-insns-single limit reached
src/common/d2s.c:1042:9: missed: not inlinable:
double_to_shortest_decimal_bufn/50 -> to_chars.isra/73, --param
max-inline-insns-single limit reached
src/common/d2s.c:1039:7: missed: not inlinable:
double_to_shortest_decimal_bufn/50 -> d2d/46, --param max-inline-insns-single
limit reached
src/common/f2s.c:769:9: missed: not inlinable:
float_to_shortest_decimal_bufn/45 -> to_chars/43, --param
max-inline-insns-single limit reached
src/common/f2s.c:766:7: missed: not inlinable:
float_to_shortest_decimal_bufn/45 -> f2d/41, --param max-inline-insns-single
limit reached
src/common/f2s.c:581:10: missed: not inlinable: to_chars/43 -> to_chars_f/42,
--param max-inline-insns-single limit reached
src/common/jsonapi.c:1882:14: missed: not inlinable: json_lex/613 ->
json_lex_number/615, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1866:14: missed: not inlinable: json_lex/613 ->
json_lex_number/615, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/613 ->
json_lex_string/614, --param max-inline-insns-single limit reached
src/common/jsonapi.c:367:2: missed: not inlinable: IsValidJsonNumber/589 ->
json_lex_number/615, --param max-inline-insns-single limit reached
src/common/unicode_case.c:415:8: missed: not inlinable: casemap/52 ->
case_index/39, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
blockreftable_insert/106 -> blockreftable_insert_hash_internal/105, --param
max-inline-insns-single limit reached
src/common/d2s.c:807:10: missed: not inlinable: to_chars.isra/113 ->
to_chars_df.isra/114, --param max-inline-insns-single limit reached
src/common/d2s.c:1042:9: missed: not inlinable:
double_to_shortest_decimal_bufn/89 -> to_chars.isra/113, --param
max-inline-insns-single limit reached
src/common/d2s.c:1039:7: missed: not inlinable:
double_to_shortest_decimal_bufn/89 -> d2d/85, --param max-inline-insns-single
limit reached
src/common/f2s.c:769:9: missed: not inlinable:
float_to_shortest_decimal_bufn/84 -> to_chars/82, --param
max-inline-insns-single limit reached
src/common/f2s.c:766:7: missed: not inlinable:
float_to_shortest_decimal_bufn/84 -> f2d/80, --param max-inline-insns-single
limit reached
src/common/f2s.c:581:10: missed: not inlinable: to_chars/82 -> to_chars_f/81,
--param max-inline-insns-single limit reached
src/common/jsonapi.c:1882:14: missed: not inlinable: json_lex/652 ->
json_lex_number/654, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1866:14: missed: not inlinable: json_lex/652 ->
json_lex_number/654, --param max-inline-insns-single limit reached
src/common/jsonapi.c:1859:14: missed: not inlinable: json_lex/652 ->
json_lex_string/653, --param max-inline-insns-single limit reached
src/common/jsonapi.c:367:2: missed: not inlinable: IsValidJsonNumber/628 ->
json_lex_number/654, --param max-inline-insns-single limit reached
src/common/unicode_case.c:415:8: missed: not inlinable: casemap/91 ->
case_index/78, --param max-inline-insns-single limit reached
src/backend/access/brin/brin_tuple.c:587:2: missed: not inlinable:
brin_deform_tuple/267 -> brin_deconstruct_tuple/268, --param
max-inline-insns-single limit reached
src/backend/access/common/heaptuple.c:1039:4: missed: not inlinable:
expand_tuple/217 -> fill_val/210, --param max-inline-insns-single limit reached
src/backend/access/common/heaptuple.c:1029:4: missed: not inlinable:
expand_tuple/217 -> fill_val/210, --param max-inline-insns-single limit reached
src/backend/access/common/heaptuple.c:433:3: missed: not inlinable:
heap_fill_tuple/211 -> fill_val/210, --param max-inline-insns-single limit
reached
src/include/lib/radixtree.h:1676:10: missed: not inlinable:
shared_ts_get_slot_recursive/769 -> shared_ts_node_insert/766, --param
max-inline-insns-single limit reached
src/include/lib/radixtree.h:1676:10: missed: not inlinable:
local_ts_get_slot_recursive/727 -> local_ts_node_insert/724, --param
max-inline-insns-single limit reached
src/backend/access/gist/gistproc.c:672:4: missed: not inlinable:
gist_box_picksplit/211 -> g_box_consider_split/209, --param
max-inline-insns-single limit reached
src/backend/access/gist/gistproc.c:636:4: missed: not inlinable:
gist_box_picksplit/211 -> g_box_consider_split/209, --param
max-inline-insns-single limit reached
src/backend/access/heap/heapam.c:8297:3: missed: not inlinable:
heap_index_delete_tuples/503 -> index_delete_check_htid/502, --param
max-inline-insns-single limit reached
src/backend/access/heap/heapam.c:4444:12: missed: not inlinable:
HeapDetermineColumnsInfo.isra/1041 -> heap_getattr/195, --param
max-inline-insns-single limit reached
src/backend/access/heap/heapam.c:4445:12: missed: not inlinable:
HeapDetermineColumnsInfo.isra/1041 -> heap_getattr/195, --param
max-inline-insns-single limit reached
src/include/access/valid.h:42:9: missed: not inlinable: HeapKeyTest/400 ->
heap_getattr/195, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
backup_file_insert/165 -> backup_file_insert_hash_internal/164, --param
max-inline-insns-single limit reached
src/backend/catalog/aclchk.c:4129:13: missed: not inlinable:
object_ownercheck/475 -> heap_getattr/191, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable: nsphash_insert/441
-> nsphash_insert_hash_internal/440, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
nsphash_lookup.isra/870 -> spcachekey_hash.isra/868, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: nsphash_grow/439
-> spcachekey_hash.isra/868, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: nsphash_grow/439
-> spcachekey_hash.isra/868, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
nsphash_insert_hash_internal/440 -> spcachekey_hash.isra/868, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
nsphash_insert/441 -> spcachekey_hash.isra/868, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
nsphash_lookup.isra/865 -> spcachekey_hash.isra/868, --param
max-inline-insns-single limit reached
src/backend/catalog/objectaddress.c:4304:18: missed: not inlinable:
pg_identify_object/485 -> heap_getattr/191, --param max-inline-insns-single
limit reached
src/backend/catalog/objectaddress.c:4286:18: missed: not inlinable:
pg_identify_object/485 -> heap_getattr/191, --param max-inline-insns-single
limit reached
src/backend/catalog/objectaddress.c:4480:11: missed: not inlinable:
pg_get_acl/487 -> heap_getattr/191, --param max-inline-insns-single limit
reached
src/backend/commands/alter.c:1027:12: missed: not inlinable:
AlterObjectOwner_internal/436 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:983:14: missed: not inlinable:
AlterObjectOwner_internal/436 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:958:11: missed: not inlinable:
AlterObjectOwner_internal/436 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:951:10: missed: not inlinable:
AlterObjectOwner_internal/436 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:750:11: missed: not inlinable:
AlterObjectNamespace_internal/434 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:717:14: missed: not inlinable:
AlterObjectNamespace_internal/434 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:715:9: missed: not inlinable:
AlterObjectNamespace_internal/434 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:218:11: missed: not inlinable:
AlterObjectRename_internal/429 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:199:11: missed: not inlinable:
AlterObjectRename_internal/429 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/alter.c:191:10: missed: not inlinable:
AlterObjectRename_internal/429 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/backend/commands/copyfrom.c:671:3: missed: not inlinable:
CopyMultiInsertInfoFlush/473 -> CopyMultiInsertBufferFlush/471, --param
max-inline-insns-single limit reached
src/backend/commands/event_trigger.c:2024:9: missed: not inlinable:
pg_event_trigger_ddl_commands/493 -> heap_getattr/195, --param
max-inline-insns-single limit reached
src/backend/commands/event_trigger.c:1355:14: missed: not inlinable:
EventTriggerSQLDropAddObject/477 -> heap_getattr/195, --param
max-inline-insns-single limit reached
src/backend/commands/event_trigger.c:1321:13: missed: not inlinable:
EventTriggerSQLDropAddObject/477 -> heap_getattr/195, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
saophash_insert.isra/939 -> saophash_insert_hash_internal.isra/940, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:792:9: missed: not inlinable:
LookupTupleHashEntry_internal/424 -> tuplehash_insert_hash_internal/403,
--param max-inline-insns-single limit reached
src/include/lib/simplehash.h:792:9: missed: not inlinable:
tuplehash_insert_hash/405 -> tuplehash_insert_hash_internal/403, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
tuplehash_insert/404 -> tuplehash_insert_hash_internal/403, --param
max-inline-insns-single limit reached
src/backend/executor/execUtils.c:1113:11: missed: not inlinable:
GetAttributeByName/474 -> heap_getattr.constprop/581, --param
max-inline-insns-single limit reached
src/backend/executor/execUtils.c:1161:11: missed: not inlinable:
GetAttributeByNum/475 -> heap_getattr.constprop/581, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
memoize_insert.constprop/525 -> memoize_insert_hash_internal.constprop/527,
--param max-inline-insns-single limit reached
src/backend/executor/nodeSubplan.c:1205:17: missed: not inlinable:
ExecSetParamPlan/391 -> heap_getattr/191, --param max-inline-insns-single limit
reached
src/backend/executor/nodeSubplan.c:369:22: missed: not inlinable:
ExecScanSubPlan/384 -> heap_getattr/191, --param max-inline-insns-single limit
reached
src/backend/executor/spi.c:1264:9: missed: not inlinable: SPI_getbinval/483
-> heap_getattr/191, --param max-inline-insns-single limit reached
src/backend/executor/spi.c:1237:8: missed: not inlinable: SPI_getvalue/482 ->
heap_getattr/191, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
pagetable_insert/326 -> pagetable_insert_hash_internal/325, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:636:3: missed: not inlinable:
pagetable_insert_hash_internal/325 -> pagetable_grow/324, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable: derives_insert/388
-> derives_insert_hash_internal/387, --param max-inline-insns-single limit
reached
src/backend/storage/buffer/bufmgr.c:760:9: missed: not inlinable:
ReleaseAndReadBuffer/509 -> ReadBufferExtended/480, --param
max-inline-insns-single limit reached
src/backend/storage/buffer/bufmgr.c:760:9: missed: not inlinable:
ReadBuffer/479 -> ReadBufferExtended/480, --param max-inline-insns-single limit
reached
src/backend/storage/ipc/waiteventset.c:1138:8: missed: not inlinable:
WaitEventSetWait/383 -> WaitEventSetWaitBlock/384, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
pgstat_snapshot_insert/416 -> pgstat_snapshot_insert_hash_internal/415, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:636:3: missed: not inlinable:
pgstat_snapshot_insert_hash_internal/415 -> pgstat_snapshot_grow/414, --param
max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_snapshot_lookup/419 -> fasthash64.constprop/654, --param
max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_snapshot_grow/414 -> fasthash64.constprop/654, --param
max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_snapshot_grow/414 -> fasthash64.constprop/654, --param
max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_snapshot_insert_hash_internal/415 -> fasthash64.constprop/654, --param
max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_snapshot_insert/416 -> fasthash64.constprop/654, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
pgstat_entry_ref_hash_insert/409 ->
pgstat_entry_ref_hash_insert_hash_internal/408, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:636:3: missed: not inlinable:
pgstat_entry_ref_hash_insert_hash_internal/408 ->
pgstat_entry_ref_hash_grow/407, --param max-inline-insns-single limit reached
src/include/common/hashfn_unstable.h:384:9: missed: not inlinable:
pgstat_hash_hash_key/390 -> fasthash64.constprop/562, --param
max-inline-insns-single limit reached
src/backend/utils/adt/cryptohashfuncs.c:166:21: missed: not inlinable:
sha512_bytea/71 -> cryptohash_internal/67, --param max-inline-insns-single
limit reached
src/backend/utils/adt/cryptohashfuncs.c:158:21: missed: not inlinable:
sha384_bytea/70 -> cryptohash_internal/67, --param max-inline-insns-single
limit reached
src/backend/utils/adt/cryptohashfuncs.c:150:21: missed: not inlinable:
sha256_bytea/69 -> cryptohash_internal/67, --param max-inline-insns-single
limit reached
src/backend/utils/adt/cryptohashfuncs.c:142:21: missed: not inlinable:
sha224_bytea/68 -> cryptohash_internal/67, --param max-inline-insns-single
limit reached
src/backend/utils/adt/geo_ops.c:4204:2: missed: not inlinable: point_div/335
-> point_div_point.isra/1233, --param max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:4290:2: missed: not inlinable: box_div/340 ->
point_div_point.isra/1233, --param max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:4291:2: missed: not inlinable: box_div/340 ->
point_div_point.isra/1233, --param max-inline-insns-single limit reached
src/backend/utils/adt/geo_ops.c:5022:2: missed: not inlinable:
circle_div_pt/379 -> point_div_point.isra/1233, --param max-inline-insns-single
limit reached
src/backend/utils/adt/like.c:422:12: missed: not inlinable: texticnlike/91 ->
Generic_Text_IC_like/81, --param max-inline-insns-single limit reached
src/backend/utils/adt/like.c:410:12: missed: not inlinable: texticlike/90 ->
Generic_Text_IC_like/81, --param max-inline-insns-single limit reached
src/backend/utils/adt/like.c:398:12: missed: not inlinable: nameicnlike/89 ->
Generic_Text_IC_like/81, --param max-inline-insns-single limit reached
src/backend/utils/adt/like.c:383:12: missed: not inlinable: nameiclike/88 ->
Generic_Text_IC_like/81, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
collation_cache_insert/267 -> collation_cache_insert_hash_internal/266, --param
max-inline-insns-single limit reached
src/backend/utils/cache/catcache.c:1385:9: missed: not inlinable:
SearchCatCache4/400 -> SearchCatCacheInternal/401, --param
max-inline-insns-single limit reached
src/backend/utils/cache/catcache.c:1377:9: missed: not inlinable:
SearchCatCache3/399 -> SearchCatCacheInternal/401, --param
max-inline-insns-single limit reached
src/backend/utils/cache/catcache.c:1369:9: missed: not inlinable:
SearchCatCache2/398 -> SearchCatCacheInternal/401, --param
max-inline-insns-single limit reached
src/backend/utils/cache/catcache.c:1361:9: missed: not inlinable:
SearchCatCache1/397 -> SearchCatCacheInternal/401, --param
max-inline-insns-single limit reached
src/backend/utils/cache/catcache.c:1347:9: missed: not inlinable:
SearchCatCache/396 -> SearchCatCacheInternal/401, --param
max-inline-insns-single limit reached
src/backend/utils/cache/syscache.c:462:11: missed: not inlinable:
GetSysCacheOid/380 -> heap_getattr/191, --param max-inline-insns-single limit
reached
src/backend/utils/mb/conv.c:788:24: missed: not inlinable: LocalToUtf/81 ->
pg_mb_radix_conv/79, --param max-inline-insns-single limit reached
src/backend/utils/mb/conv.c:653:24: missed: not inlinable: UtfToLocal/80 ->
pg_mb_radix_conv/79, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:792:9: missed: not inlinable:
manifest_files_insert_hash/74 -> manifest_files_insert_hash_internal/72,
--param max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
manifest_files_insert/73 -> manifest_files_insert_hash_internal/72, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
manifest_files_insert/151 -> hash_string/37, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_stat/83 -> hash_string/37, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_delete_item/79 -> hash_string/37, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_delete_item/79 -> hash_string/37, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_delete/78 -> hash_string/37, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:859:17: missed: not inlinable:
manifest_files_delete/78 -> hash_string/37, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
manifest_files_lookup/76 -> hash_string/37, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
manifest_files_insert/73 -> hash_string/37, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_insert_hash_internal/72 -> hash_string/37, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_grow/71 -> hash_string/37, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_grow/71 -> hash_string/37, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
catalogid_insert/61 -> catalogid_insert_hash_internal/60, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
rolename_insert.isra/247 -> rolename_insert_hash_internal.isra/248, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:781:9: missed: not inlinable: keepwal_insert/129
-> keepwal_insert_hash_internal/128, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
filehash_insert/103 -> filehash_insert_hash_internal/102, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
filehash_insert/103 -> hash_string/59, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
filehash_insert_hash_internal/102 -> hash_string/59, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: filehash_grow/101
-> hash_string/59, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: filehash_grow/101
-> hash_string/59, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
keepwal_insert/129 -> hash_string/59, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
keepwal_insert_hash_internal/128 -> hash_string/59, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: keepwal_grow/127
-> hash_string/59, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable: keepwal_grow/127
-> hash_string/59, --param max-inline-insns-single limit reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
keepwal_lookup/132 -> hash_string/59, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
filehash_lookup/106 -> hash_string/59, --param max-inline-insns-single limit
reached
src/include/lib/simplehash.h:781:9: missed: not inlinable:
manifest_files_insert/104 -> manifest_files_insert_hash_internal/103, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:779:17: missed: not inlinable:
manifest_files_insert/104 -> hash_string/70, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_insert_hash_internal/103 -> hash_string/70, --param
max-inline-insns-single limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_grow/102 -> hash_string/70, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:400:9: missed: not inlinable:
manifest_files_grow/102 -> hash_string/70, --param max-inline-insns-single
limit reached
src/include/lib/simplehash.h:836:17: missed: not inlinable:
manifest_files_lookup/107 -> hash_string/70, --param max-inline-insns-single
limit reached
src/pl/plperl/plperl.c:4067:10: missed: not inlinable: plperl_util_elog/704
-> sv2cstr/622, --param max-inline-insns-single limit reached
src/pl/plperl/plperl.c:3630:13: missed: not inlinable: plperl_spi_prepare/698
-> sv2cstr/622, --param max-inline-insns-single limit reached
src/pl/plperl/plperl.c:2587:9: missed: not inlinable:
plperl_trigger_handler/683 -> sv2cstr/622, --param max-inline-insns-single
limit reached
src/pl/plperl/plperl.c:1428:18: missed: not inlinable: plperl_sv_to_datum/657
-> sv2cstr/622, --param max-inline-insns-single limit reached
src/pl/plperl/plperl.c:366:8: missed: not inlinable: hek2cstr/639 ->
sv2cstr/622, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:36:11: missed: not inlinable: XS__spi_exec_query/248 ->
sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:53:17: missed: not inlinable: XS__spi_query/250 ->
sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:63:18: missed: not inlinable: XS__spi_fetchrow/251 ->
sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:75:17: missed: not inlinable: XS__spi_prepare/252 ->
sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:96:17: missed: not inlinable: XS__spi_exec_prepared/253
-> sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:122:17: missed: not inlinable:
XS__spi_query_prepared/254 -> sv2cstr/245, --param max-inline-insns-single
limit reached
src/pl/plperl/SPI.xs:139:17: missed: not inlinable: XS__spi_freeplan/255 ->
sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/plperl/SPI.xs:147:18: missed: not inlinable: XS__spi_cursor_close/256
-> sv2cstr/245, --param max-inline-insns-single limit reached
src/pl/tcl/pltcl.c:3225:10: missed: not inlinable:
pltcl_build_tuple_argument/506 -> heap_getattr/191, --param
max-inline-insns-single limit reached
src/pl/tcl/pltcl.c:3155:10: missed: not inlinable: pltcl_set_tuple_values/505
-> heap_getattr/191, --param max-inline-insns-single limit reached
contrib/amcheck/verify_nbtree.c:3275:18: missed: not inlinable:
invariant_l_nontarget_offset/473 -> BTreeTupleGetHeapTIDCareful/477, --param
max-inline-insns-single limit reached
contrib/amcheck/verify_nbtree.c:3160:14: missed: not inlinable:
invariant_l_offset/470 -> BTreeTupleGetHeapTIDCareful/477, --param
max-inline-insns-single limit reached
contrib/hstore_plperl/hstore_plperl.c:144:27: missed: not inlinable:
plperl_to_hstore/260 -> sv2cstr/247, --param max-inline-insns-single limit
reached
contrib/hstore_plperl/hstore_plperl.c:129:18: missed: not inlinable:
plperl_to_hstore/260 -> sv2cstr/247, --param max-inline-insns-single limit
reached