> > 
> > Hi Honza, here's the updated patch - I just wanted to verify if this is
> > OK to commit.
> > 
> > -- 
> > Regards,
> > Dhruv
> > 
> > -- >8 --
> > 
> >  From eebeebb9ba1a6405dbeaaec3be5ce8eb403b94fc Mon Sep 17 00:00:00 2001
> > From: Dhruv Chawla <[email protected]>
> > Date: Wed, 15 Oct 2025 22:08:23 -0700
> > Subject: [PATCH 1/3] AutoFDO: Implement streaming of file names from GCOV 
> > profile
> > 
> > Signed-off-by: Dhruv Chawla <[email protected]>
> > 
> > gcc/ChangeLog:
> > 
> >         * auto-profile.cc (AUTO_PROFILE_VERSION): Bump to 3.
> >         (class function_instance_descriptor): New class.
> >         (get_normalized_path): New function.
> >         (string_table::~string_table): Update to free filenames.
> >         (string_table::vector_): Rename to ...
> >         (string_table::symbol_names_): ... this.
> >         (string_table::map_): Rename to ...
> >         (string_table::symbol_name_map_): ... this.
> >         (string_table::filenames_): New member.
> >         (string_table::filename_map_): Likewise.
> >         (string_table::symbol_to_filename_map_): Likewise.
> >         (string_table::get_index): Update to lookup symbol_name_map_.
> >         (string_table::get_name): Rename to ...
> >         (string_table::get_symbol_name): ... this.
> >         (string_table::add_name): Rename to ...
> >         (string_table::add_symbol_name): ... this.
> >         (string_table::get_filename): New function.
> >         (string_table::get_filename_by_symbol): Likewise.
> >         (string_table::get_filename_index): Likewise.
> >         (string_table::add_filename): Likewise.
> >         (string_table::read): Read file names from the GCOV profile.
> >         (function_instance::offline): Call
> >         get_function_instance_by_descriptor.
> >         (string_table::get_cgraph_node): Call get_symbol_name and
> >         symbol_name.
> >         (function_instance::get_function_instance_by_decl): Likewise.
> >         (function_instance::get_cgraph_node): Likewise.
> >         (function_instance::merge): Likewise.
> >         (match_with_target): Likewise.
> >         (function_instance::match): Likewise.
> >         (function_instance::dump): Likewise.
> >         (function_instance::dump_inline_stack): Likewise.
> >         (function_instance::find_icall_target_map): Likewise.
> >         (autofdo_source_profile::offline_unrealized_inlines): Likewise.
> >         (autofdo_source_profile::offline_external_functions): Likewise.
> >         (function_instance::read_function_instance): Likewise.
> >         (afdo_indirect_call):
> >         Also call find_function_instance, add_function_instance and
> >         remove_function_instance.
> >         (autofdo_source_profile::read): Likewise.
> >         (autofdo_source_profile::get_function_instance_by_decl): Call
> >         find_function_instance.
> >         (autofdo_source_profile::get_function_instance_by_name_index):
> >         Rename to ...
> >         (autofdo_source_profile::get_function_instance_by_descriptor):
> >         ... this.
> >         (autofdo_source_profile::find_iter_for_function_instance): New
> >         function.
> >         (autofdo_source_profile::find_function_instance): Likewise.
> >         (autofdo_source_profile::add_function_instance): Likewise.
> >         (autofdo_source_profile::remove_function_instance): Likewise.

OK,
thanks!
Honza

Reply via email to