[PATCH] PR117350: Keep assembler name for abstract decls for autofdo
Andi Kleen
ak@linux.intel.com
Thu Oct 31 20:40:43 GMT 2024
From: Andi Kleen <ak@gcc.gnu.org>
autofdo looks up inline stacks and tries to match them with the profile
data using their symbol name. Make sure all decls that can be in a inline stack
have a valid assembler name.
This fixes a bootstrap problem with autoprofiledbootstrap and LTO.
2024-10-30 Jason Merrill <jason@redhat.com>
Andrew Pinski <quic_apinski@quicinc.com>
Andi Kleen <ak@gcc.gnu.org>
gcc/ChangeLog:
PR bootstrap/117350
* tree.cc (need_assembler_name_p): Keep assembler name
for abstract declarations when autofdo is used.
---
gcc/tree.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/tree.cc b/gcc/tree.cc
index b4c059d3b0db..92f99eaccd72 100644
--- a/gcc/tree.cc
+++ b/gcc/tree.cc
@@ -787,8 +787,9 @@ need_assembler_name_p (tree decl)
|| DECL_ASSEMBLER_NAME_SET_P (decl))
return false;
- /* Abstract decls do not need an assembler name. */
- if (DECL_ABSTRACT_P (decl))
+ /* Abstract decls do not need an assembler name, except they
+ can be looked up by autofdo. */
+ if (DECL_ABSTRACT_P (decl) && !flag_auto_profile)
return false;
/* For VAR_DECLs, only static, public and external symbols need an
--
2.46.2
More information about the Gcc-patches
mailing list