aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-29 09:31:11 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-29 07:31:11 +0000
commit036546e58ac96338a9167fb1b239670fdca99ab3 (patch)
tree2bccbc03becb82b7caf9f75dcea83ae37194f46b /gcc/omp-low.c
parent6c6081113be59aa5fa6cc20c3978c7661ff43696 (diff)
downloadgcc-036546e58ac96338a9167fb1b239670fdca99ab3.zip
gcc-036546e58ac96338a9167fb1b239670fdca99ab3.tar.gz
gcc-036546e58ac96338a9167fb1b239670fdca99ab3.tar.bz2
cgraph.c (clone_function_name): Take SUFFIX argument; export.
* cgraph.c (clone_function_name): Take SUFFIX argument; export. (cgraph_create_virtual_clone): Take SUFFIX argument; udpate use of clone_function_name. * cgraph.h (cgraph_create_virtual_clone, cgraph_function_versioning): update prototypes. (clone_function_name): Declare. * ipa-cp.c (ipcp_insert_stage): Update call of cgraph_create_virtual_clone. * omp-low.c (create_omp_child_function_name): Use cgraph_create_virtual_clone. * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating. (cgraph_function_versioning): Take SUFFIX argument; produce new name and make decl local. * gcc.dg/tree-ssa/ipa-cp-1.c: Update testcase. From-SVN: r160016
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r--gcc/omp-low.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 74797b8..12bd4c6 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -1531,22 +1531,8 @@ static GTY(()) unsigned int tmp_ompfn_id_num;
static tree
create_omp_child_function_name (bool task_copy)
{
- tree name = DECL_ASSEMBLER_NAME (current_function_decl);
- size_t len = IDENTIFIER_LENGTH (name);
- char *tmp_name, *prefix;
- const char *suffix;
-
- suffix = task_copy ? "_omp_cpyfn" : "_omp_fn";
- prefix = XALLOCAVEC (char, len + strlen (suffix) + 1);
- memcpy (prefix, IDENTIFIER_POINTER (name), len);
- strcpy (prefix + len, suffix);
-#ifndef NO_DOT_IN_LABEL
- prefix[len] = '.';
-#elif !defined NO_DOLLAR_IN_LABEL
- prefix[len] = '$';
-#endif
- ASM_FORMAT_PRIVATE_NAME (tmp_name, prefix, tmp_ompfn_id_num++);
- return get_identifier (tmp_name);
+ return (clone_function_name (current_function_decl,
+ task_copy ? "_omp_cpyfn" : "_omp_fn"));
}
/* Build a decl for the omp child function. It'll not contain a body