For a better possibility of an assembly implementation of target_clones,
we should not create numbered clones.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
Thanks,
Martin
---
gcc/multiple_target.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/gcc/multiple_target.c b/gcc/multiple_target.c
index 6c0565880c5..b76e54bf924 100644
--- a/gcc/multiple_target.c
+++ b/gcc/multiple_target.c
@@ -166,9 +166,8 @@ create_dispatcher_calls (struct cgraph_node *node)
}
}
- symtab->change_decl_assembler_name (node->decl,
- clone_function_name_numbered (
- node->decl, "default"));
+ tree fname = clone_function_name_numbered (node->decl, "default");
+ symtab->change_decl_assembler_name (node->decl, fname);
if (node->definition)
{
@@ -322,9 +321,8 @@ create_target_clone (cgraph_node *node, bool definition,
char *name,
new_node = cgraph_node::get_create (new_decl);
DECL_ATTRIBUTES (new_decl) = attributes;
/* Generate a new name for the new version. */
- symtab->change_decl_assembler_name (new_node->decl,
- clone_function_name_numbered (
- node->decl, name));
+ tree fname = clone_function_name (node->decl, name);
+ symtab->change_decl_assembler_name (new_node->decl, fname);
}
return new_node;
}
--
2.32.0