https://gcc.gnu.org/g:ae987baeb5fb70877fd007db80b77e374f676c76

commit r16-435-gae987baeb5fb70877fd007db80b77e374f676c76
Author: hongtao.liu <hongtao....@intel.com>
Date:   Tue Jan 14 01:13:22 2025 +0100

    Fix name mismatch for fortran.
    
    Function name in afdo_string_table is step3d_t_tile.
    but DECL_ASSEMBLER_NAME (edge->callee->decl))) gets
    __step3d_t_mod_MOD_step3d_t_tile, Looks like the prefix is not in the
    debug string table.
    The patch uses
    afdo_string_table->get_index_by_decl (edge->callee->decl) instead.
    
    gcc/ChangeLog:
    
            PR gcov-profile/118508
            * auto-profile.cc
            (autofdo_source_profile::get_callsite_total_count): Fix name
            mismatch for fortran.

Diff:
---
 gcc/auto-profile.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc
index 7e0e8c66124e..9966d9312e37 100644
--- a/gcc/auto-profile.cc
+++ b/gcc/auto-profile.cc
@@ -848,8 +848,8 @@ autofdo_source_profile::get_callsite_total_count (
 
   function_instance *s = get_function_instance_by_inline_stack (stack);
   if (s == NULL
-      || afdo_string_table->get_index (IDENTIFIER_POINTER (
-             DECL_ASSEMBLER_NAME (edge->callee->decl))) != s->name ())
+      ||(afdo_string_table->get_index_by_decl (edge->callee->decl)
+        != s->name()))
     return 0;
 
   return s->total_count ();

Reply via email to