From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id EED83389F4ED; Mon, 16 Aug 2021 08:24:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EED83389F4ED Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/backport-11)] ipa: do not make localaliases for target_clones [PR101261] X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/users/marxin/heads/backport-11 X-Git-Oldrev: 85b78f6c38bb357abb749fed81a1e7a589050461 X-Git-Newrev: fbe246620e2fa5b5968718837ae4c12fdb85ba39 Message-Id: <20210816082456.EED83389F4ED@sourceware.org> Date: Mon, 16 Aug 2021 08:24:56 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 08:24:57 -0000 https://gcc.gnu.org/g:fbe246620e2fa5b5968718837ae4c12fdb85ba39 commit fbe246620e2fa5b5968718837ae4c12fdb85ba39 Author: Martin Liska Date: Fri Aug 13 11:10:56 2021 +0200 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. Diff: --- gcc/symtab.c | 2 ++ gcc/testsuite/gcc.target/i386/pr101261.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/symtab.c b/gcc/symtab.c index 2135b34ce27..5530a124a9d 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -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); diff --git a/gcc/testsuite/gcc.target/i386/pr101261.c b/gcc/testsuite/gcc.target/i386/pr101261.c new file mode 100644 index 00000000000..d25d1a202c2 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr101261.c @@ -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(); +}