A gentle ping > On 30 Oct 2025, at 10:45 AM, Prachi Godbole <[email protected]> wrote: > > This patch introduces a new heuristics for reordering functions, to be used > in the absense of profile information. This approach uses C++ template > instantiation types to group functions together. Entry functions are sorted > in the beginning, and callees are sorted as part of partition_callchain (). > > Bootstrapped and tested on aarch64-none-linux-gnu. > Ok for mainline? > > Thanks, > Prachi > > Signed-off-by: Prachi Godbole <[email protected]> > > config/ChangeLog: > > * bootstrap-lto-locality-cpp-template.mk: New file. > > gcc/ChangeLog: > > * flag-types.h (enum lto_locality_heuristics): New enum. > * ipa-locality-cloning.cc (struct templ_info): New struct. > (struct locality_info): Add templ_info field. > (templ_hash_map): New hash_map. > (callee_templ_cmp): Ditto. > (static_profile_templ_cmp): Ditto. > (sort_templ_hashes_cmp): Ditto. > (order_templ_hashes): Ditto. > (locality_dc_template_p): Ditto. > (populate_templ_info): Ditto. > (create_locality_info): Call populate_templ_info. > (partition_callchain): Call callee_templ_cmp. > (locality_determine_static_order): Populate and sort templ_hash_map. > (locality_partition_and_clone): Handle lto_locality_heuristics. > (lc_execute): Initialize templ_hash_map. > * params.opt: New param. > > <0003-PATCH-3-3-ipa-reorder-for-locality-Introduce-C-templ.patch>
