ipa: do not make localaliases for target_clones [PR101261]

PR ipa/101261

gcc/ChangeLog:

	* symtab.c (symtab_node::noninterposable_alias): Do not create
	  local aliases for target_clone functions as the clonning pass
	  rejects aliases.

gcc/testsuite/ChangeLog:

	* gcc.target/i386/pr101261.c: New test.
This commit is contained in:
Martin Liska 2021-08-13 11:10:56 +02:00
parent 5eb304a3e5
commit fa28520fad
2 changed files with 13 additions and 0 deletions

View File

@ -1959,6 +1959,8 @@ symtab_node::noninterposable_alias (void)
/* If aliases aren't supported by the assembler, fail. */
if (!TARGET_SUPPORTS_ALIASES)
return NULL;
else if (lookup_attribute ("target_clones", DECL_ATTRIBUTES (node->decl)))
return NULL;
/* Otherwise create a new one. */
new_decl = copy_node (node->decl);

View File

@ -0,0 +1,11 @@
/* PR middle-end/101261 */
/* { dg-do compile { target fpic } } */
/* { dg-options "-fno-semantic-interposition -fPIC" } */
/* { dg-require-ifunc "" } */
void
__attribute__((target_clones("default", "avx2")))
dt_ioppr_transform_image_colorspace()
{
dt_ioppr_transform_image_colorspace();
}