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(-)
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;