aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-08-20 16:35:18 +0200
committerMartin Liska <mliska@suse.cz>2021-08-26 09:51:11 +0200
commitbfc9250e0de5d5de8a93785ec20e04466ad720f6 (patch)
tree95ca94cb87d04e5bbacf651d743450e2928693f8 /gcc/cgraphclones.c
parentd4b782985b4adb86ebcccff697366136321d45b2 (diff)
downloadgcc-bfc9250e0de5d5de8a93785ec20e04466ad720f6.zip
gcc-bfc9250e0de5d5de8a93785ec20e04466ad720f6.tar.gz
gcc-bfc9250e0de5d5de8a93785ec20e04466ad720f6.tar.bz2
Use non-numbered clones for target_clones.
gcc/ChangeLog: * cgraph.h (create_version_clone_with_body): Add new parameter. * cgraphclones.c: Likewise. * multiple_target.c (create_dispatcher_calls): Do not use numbered suffixes. (create_target_clone): Likewise here. gcc/testsuite/ChangeLog: * gcc.target/i386/mvc5.c: Scan assembly names. * gcc.target/i386/mvc7.c: Likewise. * gcc.target/i386/pr95778-1.c: Update scanned patterns. * gcc.target/i386/pr95778-2.c: Likewise. Co-Authored-By: Stefan Kneifel <stefan.kneifel@bluewin.ch>
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index b16e681..ae91dcc 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -987,6 +987,9 @@ cgraph_node::create_version_clone (tree new_decl,
that will promote value of the attribute DECL_FUNCTION_SPECIFIC_TARGET
of the declaration.
+ If VERSION_DECL is set true, use clone_function_name_numbered for the
+ function clone. Otherwise, use clone_function_name.
+
Return the new version's cgraph node. */
cgraph_node *
@@ -995,7 +998,7 @@ cgraph_node::create_version_clone_with_body
vec<ipa_replace_map *, va_gc> *tree_map,
ipa_param_adjustments *param_adjustments,
bitmap bbs_to_copy, basic_block new_entry_block, const char *suffix,
- tree target_attributes)
+ tree target_attributes, bool version_decl)
{
tree old_decl = decl;
cgraph_node *new_version_node = NULL;
@@ -1016,8 +1019,10 @@ cgraph_node::create_version_clone_with_body
new_decl = copy_node (old_decl);
/* Generate a new name for the new version. */
- DECL_NAME (new_decl) = clone_function_name_numbered (old_decl, suffix);
- SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl));
+ tree fnname = (version_decl ? clone_function_name_numbered (old_decl, suffix)
+ : clone_function_name (old_decl, suffix));
+ DECL_NAME (new_decl) = fnname;
+ SET_DECL_ASSEMBLER_NAME (new_decl, fnname);
SET_DECL_RTL (new_decl, NULL);
DECL_VIRTUAL_P (new_decl) = 0;