diff options
author | Martin Liska <mliska@suse.cz> | 2021-08-20 16:35:18 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-08-26 09:51:11 +0200 |
commit | bfc9250e0de5d5de8a93785ec20e04466ad720f6 (patch) | |
tree | 95ca94cb87d04e5bbacf651d743450e2928693f8 /gcc/cgraphclones.c | |
parent | d4b782985b4adb86ebcccff697366136321d45b2 (diff) | |
download | gcc-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.c | 11 |
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; |