[v1,10/16] Add dispatcher_resolver_function and is_target_clone to cgraph_node.

Message ID 20250203130421.2192732-12-alfie.richards@arm.com
State New
Headers
Series FMV refactor and ACLE compliance. |

Commit Message

Alfie Richards Feb. 3, 2025, 1:04 p.m. UTC
  These flags are used to make sure mangling is done correctly.

gcc/ChangeLog:

	* cgraph.h (struct cgraph_node): Add dispatcher_resolver_function and
	is_target_clone.
---
 gcc/cgraph.h | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)
  

Patch

diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index d9177364b7a..9561bce2c33 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -896,19 +896,19 @@  struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Constructor.  */
   explicit cgraph_node ()
     : symtab_node (SYMTAB_FUNCTION), callees (NULL), callers (NULL),
-      indirect_calls (NULL),
-      next_sibling_clone (NULL), prev_sibling_clone (NULL), clones (NULL),
-      clone_of (NULL), call_site_hash (NULL), former_clone_of (NULL),
-      simdclone (NULL), simd_clones (NULL), ipa_transforms_to_apply (vNULL),
-      inlined_to (NULL), rtl (NULL),
-      count (profile_count::uninitialized ()),
+      indirect_calls (NULL), next_sibling_clone (NULL),
+      prev_sibling_clone (NULL), clones (NULL), clone_of (NULL),
+      call_site_hash (NULL), former_clone_of (NULL), simdclone (NULL),
+      simd_clones (NULL), ipa_transforms_to_apply (vNULL), inlined_to (NULL),
+      rtl (NULL), count (profile_count::uninitialized ()),
       count_materialization_scale (REG_BR_PROB_BASE), profile_id (0),
       unit_id (0), tp_first_run (0), thunk (false),
-      used_as_abstract_origin (false),
-      lowered (false), process (false), frequency (NODE_FREQUENCY_NORMAL),
-      only_called_at_startup (false), only_called_at_exit (false),
-      tm_clone (false), dispatcher_function (false), calls_comdat_local (false),
-      icf_merged (false), nonfreeing_fn (false), merged_comdat (false),
+      used_as_abstract_origin (false), lowered (false), process (false),
+      frequency (NODE_FREQUENCY_NORMAL), only_called_at_startup (false),
+      only_called_at_exit (false), tm_clone (false),
+      dispatcher_function (false), dispatcher_resolver_function (false),
+      is_target_clone (false), calls_comdat_local (false), icf_merged (false),
+      nonfreeing_fn (false), merged_comdat (false),
       merged_extern_inline (false), parallelized_function (false),
       split_part (false), indirect_call_target (false), local (false),
       versionable (false), can_change_signature (false),
@@ -1465,6 +1465,11 @@  struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   unsigned tm_clone : 1;
   /* True if this decl is a dispatcher for function versions.  */
   unsigned dispatcher_function : 1;
+  /* True if this decl is a resolver for function versions.  */
+  unsigned dispatcher_resolver_function : 1;
+  /* True this is part of a multiversioned set and the default version
+     comes from a target_clone attribute.  */
+  unsigned is_target_clone : 1;
   /* True if this decl calls a COMDAT-local function.  This is set up in
      compute_fn_summary and inline_call.  */
   unsigned calls_comdat_local : 1;