[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread via cfe-commits
DanielKristofKiss wrote: > Hmm the build fails with: > > ⚠️ Warning: Checkout failed! checking out commit > "af600cbf98ce1bf55c51ef88ddf94cd9114181c2": exit status 128 (Attempt 3/3) 🚨 > Error: checking out commit "af600cbf98ce1bf55c51ef88ddf94cd9114181c2": exit > status 128 > > Would any

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-05 Thread via cfe-commits
@@ -4178,8 +4178,29 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-01 Thread via cfe-commits
elizabethandrews wrote: Hmm the build fails with: ⚠️ Warning: Checkout failed! checking out commit "af600cbf98ce1bf55c51ef88ddf94cd9114181c2": exit status 128 (Attempt 3/3) 🚨 Error: checking out commit "af600cbf98ce1bf55c51ef88ddf94cd9114181c2": exit status 128 Would anyone happen to know

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-01 Thread via cfe-commits
elizabethandrews wrote: > > I requested some minor changes. > > Can we document the `.ifunc` symbols as a deprecated feature? With this > > change, they will never be referenced except by code compiled by older > > compiler versions. Maybe plan to deprecate them a year from now? > > How/where

[llvm] [clang-tools-extra] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-12-01 Thread via cfe-commits
https://github.com/elizabethandrews updated https://github.com/llvm/llvm-project/pull/71706 >From 534fad70af45a6a22ba2d03f474089e896f4fcd6 Mon Sep 17 00:00:00 2001 From: Elizabeth Andrews Date: Thu, 26 Oct 2023 08:53:54 -0700 Subject: [PATCH 1/3] [Clang] Fix linker error for function multivers

[llvm] [clang-tools-extra] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-29 Thread via cfe-commits
@@ -4114,8 +4114,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[llvm] [clang-tools-extra] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-29 Thread via cfe-commits
elizabethandrews wrote: > I requested some minor changes. > > Can we document the `.ifunc` symbols as a deprecated feature? With this > change, they will never be referenced except by code compiled by older > compiler versions. Maybe plan to deprecate them a year from now? How/where do I docu

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-28 Thread via cfe-commits
elizabethandrews wrote: Thank you reviews! I apologize for the delay in my response. I was OOO last week. I will apply review comments and push an update ASAP. https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@li

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread Tom Honermann via cfe-commits
https://github.com/tahonermann edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-22 Thread via cfe-commits
DanielKristofKiss wrote: @efriedma-quic Sounds good to me, I'll land those change top of this PR and drop these todos. https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-b

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-13 Thread Eli Friedman via cfe-commits
@@ -4098,8 +4098,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-13 Thread via cfe-commits
@@ -4098,8 +4098,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-13 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: This seems fine to me, but I think @efriedma-quic /the weak ODR discussion needs to be finalized before this can be accepted. https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-com

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-13 Thread via cfe-commits
elizabethandrews wrote: ping https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
elizabethandrews wrote: I ran some tests compiling TU1 and TU2 in various combinations of clang17, trunk and g++. TU1.cpp ``` int foo(); int main() { return foo(); } ``` TU2.cpp ``` #include __attribute__((target_clones("default", "arch=sapphirerapids"))) int foo() { std::cout<<"Hello

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
https://github.com/elizabethandrews edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
https://github.com/elizabethandrews edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
@@ -4098,8 +4098,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread Eli Friedman via cfe-commits
@@ -4098,8 +4098,26 @@ void CodeGenModule::emitMultiVersionFunctions() { } llvm::Constant *ResolverConstant = GetOrCreateMultiVersionResolver(GD); -if (auto *IFunc = dyn_cast(ResolverConstant)) +if (auto *IFunc = dyn_cast(ResolverConstant)) { ResolverCon

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread Eli Friedman via cfe-commits
https://github.com/efriedma-quic commented: Added reviewers from https://reviews.llvm.org/D127812, for the AArch64 side. https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread Eli Friedman via cfe-commits
https://github.com/efriedma-quic edited https://github.com/llvm/llvm-project/pull/71706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-codegen Author: None (elizabethandrews) Changes Currently target_clones attribute results in a linker error when there are no multi-versioned function declarations in the calling TU. In the calling TU, the call is generated with the ‘normal’ asse

[clang] [Clang] Fix linker error for function multiversioning (PR #71706)

2023-11-08 Thread via cfe-commits
https://github.com/elizabethandrews created https://github.com/llvm/llvm-project/pull/71706 Currently target_clones attribute results in a linker error when there are no multi-versioned function declarations in the calling TU. In the calling TU, the call is generated with the ‘normal’ assembly