r366027 - [clang][Driver][ARM] Favor -mfpu over default CPU features

2019-07-14 Thread Alexandros Lamprineas via cfe-commits
Author: alelab01 Date: Sun Jul 14 11:32:42 2019 New Revision: 366027 URL: http://llvm.org/viewvc/llvm-project?rev=366027&view=rev Log: [clang][Driver][ARM] Favor -mfpu over default CPU features When processing the command line options march, mcpu and mfpu, we store the implied target features on

r366031 - [TargetParser][ARM] Account dependencies when processing target features

2019-07-14 Thread Alexandros Lamprineas via cfe-commits
Author: alelab01 Date: Sun Jul 14 13:31:15 2019 New Revision: 366031 URL: http://llvm.org/viewvc/llvm-project?rev=366031&view=rev Log: [TargetParser][ARM] Account dependencies when processing target features Teaches ARM::appendArchExtFeatures to account dependencies when processing target feature

r364895 - [clang][Driver][ARM] NFC: Remove unused function parameter

2019-07-02 Thread Alexandros Lamprineas via cfe-commits
Author: alelab01 Date: Tue Jul 2 02:45:24 2019 New Revision: 364895 URL: http://llvm.org/viewvc/llvm-project?rev=364895&view=rev Log: [clang][Driver][ARM] NFC: Remove unused function parameter Removes a vector reference that was added by D62998, since the preexisting function parameter is suffic

[libc] [libcxx] [llvm] [clang] [flang] [clang-tools-extra] [compiler-rt] [LAA] Add a test case to show incorrect dependency classification (NFC). (PR #70473)

2023-10-31 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/70473 >From 454d423f0018db65dbbc0739ddf9ecbb8d38fef6 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 27 Oct 2023 16:45:11 +0100 Subject: [PATCH] [LAA] Add a test case to show incorrect dependency clas

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-14 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/84405 >From bde335c2b4a85ee5e7f57ff9081c38b4dd9839ca Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 7 Mar 2024 22:25:13 + Subject: [PATCH] [FMV] Emit the resolver along with the default version d

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-14 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: The key takeaway from my conversation with @DanielKristofKiss was that it is important for Function Multi Versioning to work even when the default target attribute is omitted. It was quite a headache to get this working in clang, but the latest revision supports the desired beh

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4120,6 +4127,9 @@ void CodeGenModule::emitMultiVersionFunctions() { TA->getArchitecture(), Feats); } else { const auto *TVA = CurFD->getAttr(); + if (TVA->isDefaultVersion() && + CurF

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -84,9 +84,33 @@ int hoo(void) { return fp1() + fp2(); } +// This should generate one target version but no resolver. +__attribute__((target_version("default"))) int unused_with_forward_default_decl(void); +__attribute__((target_version("mops"))) int unused_with_forward_

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -84,9 +84,33 @@ int hoo(void) { return fp1() + fp2(); } +// This should generate one target version but no resolver. +__attribute__((target_version("default"))) int unused_with_forward_default_decl(void); +__attribute__((target_version("mops"))) int unused_with_forward_

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/84405 >From 2576857fe4b5c0b99c1a29c07f92c80498687665 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 7 Mar 2024 22:25:13 + Subject: [PATCH] [FMV] Emit the resolver along with the default version d

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
@@ -4347,6 +4362,19 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { } } +/// Adds a declaration to the list of multi version functions if not present. +void CodeGenModule::AddDeferredMultiVersionResolverToEmit(GlobalDecl GD) { + const auto *FD = cast(GD.g

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/84405 >From 6a495010024b93bb8871eebe6e10c62d1f5d2fc5 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 7 Mar 2024 22:25:13 + Subject: [PATCH] [FMV] Emit the resolver along with the default version d

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/84405 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/85454 This was a limitation which has now been lifted upon request. Please read the thread below for more details: https://github.com/llvm/llvm-project/pull/84405#discussion_r1525583647 Basically it allows to

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-15 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: I think I messed up the review, this is based on #84405 so it shows unrelated changes. Ignore for now. I'll rebase https://github.com/llvm/llvm-project/pull/85454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.ll

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-17 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Hmm, I am now having second thoughts about this change. All is well without a default declaration as long as we don't have a caller in the TU. In that case (if there is a caller) a resolver is needed, but without a default declaration we can't create a complete resolver (the re

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-17 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: > In the current patch, it just gets the non-mangled name. And the fact that we > get a not-mangled function that uses `feature` without going through a > resolver is concerning to me. I am not sure I understand. Are you refering to the StringSet I added which keeps non-mangle

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-17 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Ah, I see. That is addressed in #85454 but I have already expressed a concern. https://github.com/llvm/llvm-project/pull/84405 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-19 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: I have raised two related pull requests stacked on this one: - https://github.com/labrinea/llvm-project/pull/1 - https://github.com/labrinea/llvm-project/pull/2 Is there anything else we would like to address in this patch? https://github.com/llvm/llvm-project/pull/84405 ___

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/84405 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[FMV] Emit the resolver along with the default version definition." (PR #85914)

2024-03-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/85914 Reverts llvm/llvm-project#84405 In between of passing the precommit tests on github and being merged some change (perhaps in the AArch64 backend?) landed which resulted in altering the generated resolver. I will

[clang] Reland [FMV] Emit the resolver along with the default version definit… (PR #85923)

2024-03-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/85923 …ion. This was reverted because the resolver didn't look as expected in one of the tests. I believe it had some interaction with #84146. I have now regenerated it using -target-feature -fp-armv8. >From 20a44f

[clang] Reland [FMV] Emit the resolver along with the default version definit… (PR #85923)

2024-03-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/85923 >From c0c07deebef4e2c76d935b4ce8fc1d4abddab4db Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 20 Mar 2024 10:32:58 + Subject: [PATCH] Reland [FMV] Emit the resolver along with the default ve

[clang] Reland [FMV] Emit the resolver along with the default version definit… (PR #85923)

2024-03-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/85923 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/85454 >From 60a6fcd7560ec434a8369240f7a9cd13cf035c42 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 15 Mar 2024 19:25:16 + Subject: [PATCH] [FMV] Allow multi versioning without default declaration

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/85454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow fmv without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Update: The ACLE spec is now explicit about this (see https://github.com/ARM-software/acle/pull/310), so we can safely implement the change in the compiler. Implementation-wise I have moved the static cast to `llvm::Function` inside the `createFunction()` lambda. https://githu

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/85454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
@@ -70,17 +69,23 @@ int __attribute__((target_version("lse"))) extc(void) { return 1; } auto __attribute__((target_version("default"))) ret1(void) { return 1; } auto __attribute__((target_version("dpb"))) ret2(void) { return 1; } +// expected-error@-1 {{attribute 'target_vers

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
@@ -483,14 +483,16 @@ void just_fine(void) {} __arm_locally_streaming __attribute__((target_version("sme2"))) -void just_fine_locally_streaming(void) {} +void incompatible_locally_streaming(void) {} +// expected-error@-1 {{attribute 'target_version' multiversioning cannot be

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
@@ -109,9 +109,22 @@ int unused_with_implicit_default_def(void) { return 1; } int unused_with_implicit_forward_default_def(void) { return 0; } __attribute__((target_version("lse"))) int unused_with_implicit_forward_default_def(void) { return 1; } -// This should generate a no

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
@@ -68,13 +68,15 @@ int __attribute__((target_version(""))) unsup1(void) { return 1; } void __attribute__((target_version("crc32"))) unsup2(void) {} void __attribute__((target_version("default+fp16"))) koo(void) {} +//expected-error@-1 {{function multiversioning doesn't suppo

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/85454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-22 Thread Alexandros Lamprineas via cfe-commits
@@ -109,9 +109,22 @@ int unused_with_implicit_default_def(void) { return 1; } int unused_with_implicit_forward_default_def(void) { return 0; } __attribute__((target_version("lse"))) int unused_with_implicit_forward_default_def(void) { return 1; } -// This should generate a no

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-23 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/85454 >From 289d36fd371f9f47e2ceb3a682e3c6d122341f3b Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 15 Mar 2024 19:25:16 + Subject: [PATCH] [FMV] Allow multi versioning without default declaration

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-23 Thread Alexandros Lamprineas via cfe-commits
@@ -109,9 +109,22 @@ int unused_with_implicit_default_def(void) { return 1; } int unused_with_implicit_forward_default_def(void) { return 0; } __attribute__((target_version("lse"))) int unused_with_implicit_forward_default_def(void) { return 1; } -// This should generate a no

[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/85454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/86493 The latest ACLE allows it and further clarifies the following in regards to the combination of the two attributes: "If the `default` matches with another explicitly provided version in the same translation unit

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/86493 >From dfef9d04c0a65423a051ac00044b39f8911aa731 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 22 Mar 2024 17:21:13 + Subject: [PATCH] [FMV] Allow mixing target_version with target_clones. T

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
@@ -0,0 +1,278 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature -v9.5a -S -emit-llvm -

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/86493 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
@@ -0,0 +1,278 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature -v9.5a -S -emit-llvm -

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/86493 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow mixing target_version with target_clones. (PR #86493)

2024-03-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/86493 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][FMV] Direct-call FMV callees from FMV callers (PR #80093)

2024-03-31 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: @erichkeane while I agree that Clang might not be the best place for such an optimization, I have some concerns about implementing it in LLVM: * We cannot distinguish a FMV resolver from any other ifunc resolver. * There is no information at the LLVM IR level about function versi

[clang] [clang][sema] Fix -Wunused-function on target_version'd file-scope Fn's (PR #81167)

2024-02-08 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea approved this pull request. LGTM. Good catch, thanks for fixing the bug! https://github.com/llvm/llvm-project/pull/81167 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo

[clang] [clang][fmv] Drop .ifunc from target_version's entrypoint's mangling (PR #81194)

2024-02-09 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Looks like we've done something similar for `target_clones` to fix a linker issue: https://github.com/llvm/llvm-project/commit/cee5b8777fa98312b05bf8aa81554910a8f867c5. What is the motive in this case? https://github.com/llvm/llvm-project/pull/81194 ___

[clang] [clang][fmv] Drop .ifunc from target_version's entrypoint's mangling (PR #81194)

2024-02-09 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: > Looks like we've done something similar for `target_clones` to fix a linker > issue: > [cee5b87](https://github.com/llvm/llvm-project/commit/cee5b8777fa98312b05bf8aa81554910a8f867c5). > What is the motive in this case? Ah, I just saw that it fixes https://github.com/llvm/

[clang] [clang][fmv] Drop .ifunc from target_version's entrypoint's mangling (PR #81194)

2024-02-09 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/81194 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-02-10 Thread Alexandros Lamprineas via cfe-commits
@@ -673,7 +673,7 @@ int hoo(void) { // // // CHECK: Function Attrs: noinline nounwind optnone -// CHECK-LABEL: define {{[^@]+}}@fmv_inline._MlseMrdm +// CHECK-LABEL: define {{[^@]+}}@fmv_inline._MlseMrdma labrinea wrote: I raised this with the GCC team, I don'

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-02-12 Thread Alexandros Lamprineas via cfe-commits
@@ -673,7 +673,7 @@ int hoo(void) { // // // CHECK: Function Attrs: noinline nounwind optnone -// CHECK-LABEL: define {{[^@]+}}@fmv_inline._MlseMrdm +// CHECK-LABEL: define {{[^@]+}}@fmv_inline._MlseMrdma labrinea wrote: Right, I didn't know that the resolver

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-06 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/83887 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Remove duplicate features from mangled name. (PR #84165)

2024-03-06 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/84165 ACLE suggests: https://github.com/ARM-software/acle/pull/308 GCC emits diagnostics for attribute strings which contain duplicate features, but for now let's follow the SPEC in regards to mangling rules and we c

[clang] [FMV] Remove duplicate features from mangled name. (PR #84165)

2024-03-07 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/84165 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-07 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/84405 We would like the resolver to be generated eagerly, even if the versioned function is not called from the current translation unit. Fixes #81494. >From d2572439a8e130c03febd60366962c96b5b4501d Mon Sep 17 00:00:

[clang] [FMV] Emit the resolver along with the default version definition. (PR #84405)

2024-03-07 Thread Alexandros Lamprineas via cfe-commits
@@ -85,7 +85,21 @@ int hoo(void) { } +// This should generate one target version but no resolver. +__attribute__((target_version("default"))) int unused_with_forward_default_decl(void); +__attribute__((target_version("mops"))) int unused_with_forward_default_decl(void) { re

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/81893 >From 20734a17b90e4b425aa86f152777301cda810e63 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 15 Feb 2024 15:53:51 + Subject: [PATCH] [clang] Refactor target attribute mangling. Before this

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/81893 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-27 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: ping https://github.com/llvm/llvm-project/pull/81893 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/81893 >From 4bff4f1378140b084256cf1647d26466e95d6ef7 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 15 Feb 2024 15:53:51 + Subject: [PATCH] [clang] Refactor target attribute mangling. Before this

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
@@ -857,6 +864,36 @@ void AArch64TargetCodeGenInfo::checkFunctionCallABI( << Callee->getDeclName(); } +void AArch64ABIInfo::appendAttributeMangling(TargetClonesAttr *Attr, + unsigned Index, +

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/81893 >From ed8c2af0e301885101097c23cc96c872e8650529 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 15 Feb 2024 15:53:51 + Subject: [PATCH] [clang] Refactor target attribute mangling. Before this

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/81893 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Refactor target attribute mangling. (PR #81893)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/81893 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-02-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/80540 >From fb56f1c31f7f6fb847b95e0ffe97a39ac76759a9 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 30 Jan 2024 11:17:55 + Subject: [PATCH] [TargetParser][AArch64] Add alias for FEAT_RDM. This pa

[clang] [FMV] Use lexicographic order of feature names when mangling. (PR #83464)

2024-02-29 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/83464 This decouples feature priorities from name mangling. Doing so will prevent ABI breakages in case we change the feature priorities. Formalized in ACLE here: https://github.com/ARM-software/acle/pull/303. >From

[clang] [FMV] Use lexicographic order of feature names when mangling. (PR #83464)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/83464 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/80540 >From 6f1f4e18de7ebad5e090ea268f3f053562db444c Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 30 Jan 2024 11:17:55 + Subject: [PATCH] [TargetParser][AArch64] Add alias for FEAT_RDM. This pa

[clang] [clang] Remove unused lambda capture. (PR #83550)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/83550 Fixes the `sanitizer-x86_64-linux-android` buildbot. >From df67789e087ff560d39b038f7073b3ae90061ff2 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 1 Mar 2024 09:59:51 + Subject: [PATCH] [cl

[clang] [clang] Remove unused lambda capture. (PR #83550)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Thanks for the quick respose! https://github.com/llvm/llvm-project/pull/83550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Remove unused lambda capture. (PR #83550)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/83550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/80540 >From d2c973c8ebd7605b47a8c5fc928d2d85426c8a6d Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 30 Jan 2024 11:17:55 + Subject: [PATCH] [TargetParser][AArch64] Add alias for FEAT_RDM. This pa

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: ping https://github.com/llvm/llvm-project/pull/80540 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Thanks! https://github.com/llvm/llvm-project/pull/80540 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/80540 >From 5354d6c6736f84881466b6b5b99479137eddbf29 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 30 Jan 2024 11:17:55 + Subject: [PATCH] [TargetParser][AArch64] Add alias for FEAT_RDM. This pa

[clang] [llvm] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-03-01 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/80540 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-04 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/83887 This patch fixes #71698. It allows defining the default target version prior to other version definitions without raising semantic errors. >From 5a717769aa20dfbbaa8edd4bcd3048ebedee20a2 Mon Sep 17 00:00:00 2001

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-04 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: I appreciate there's some code repetition between `CheckTargetCausesMultiVersioning` and `CheckMultiVersionAdditionalDecl`. Perhaps they deserve some refactoring in a separate patch. Please advise if you have any suggestions for moving the fix elsewhere. https://github.com/llv

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-04 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/83887 >From 65a192641b5856714b9247372d9c471e03520762 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 4 Mar 2024 18:12:22 + Subject: [PATCH] [FMV] Allow target version definitions in any order. Thi

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-05 Thread Alexandros Lamprineas via cfe-commits
@@ -11455,9 +11465,8 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, } // If this is 'default', permit the forward declaration. - if (!OldFD->isMultiVersion() && - ((NewTA && NewTA->isDefaultVersion() && !OldTA) || - (NewTVA && Ne

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-05 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/83887 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Allow target version definitions in any order. (PR #83887)

2024-03-05 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/83887 >From f11c97d7f7f67edaf6de4390bcceb13dfea376a1 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 4 Mar 2024 18:12:22 + Subject: [PATCH] [FMV] Allow target version definitions in any order. Thi

[llvm] [clang] [TargetParser][AArch64] Add alias for FEAT_RDM. (PR #80540)

2024-02-03 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/80540 This patch allows using the name "rdma" as an alias for "rdm". The name makes its way to target attributes as well as the command line via the -march and -mcpu options. The motivation was originally to support

[clang] [llvm] [FMV] Add alias for FEAT_RDM and change priorities according to ACLE. (PR #79316)

2024-01-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/79316 This patch follows the latest ACLE spec (see PR #279). It adds a name alias for FEAT_RDM and adjusts priorities for FEAT_DOTPROD, FEAT_SM4, FEAT_FP16FML, FEAT_RDM. >From cd0a99001387a64d23d606367a0e08bb88b0bfc

[clang] [llvm] [FMV] Add alias for FEAT_RDM and change priorities according to ACLE. (PR #79316)

2024-01-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/79316 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][FMV] Add tests to demonstrate feature priorities. (PR #79455)

2024-01-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/79455 Adds tests showing that we select function version according to the highest feature priority. This will make the changes introduced by #79316 more evident. >From 07719ca748ad94e3c458293e46538491d771cc00 Mon Sep

[clang] [llvm] [FMV] Add alias for FEAT_RDM and change priorities according to ACLE. (PR #79316)

2024-01-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/79316 >From 07719ca748ad94e3c458293e46538491d771cc00 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 25 Jan 2024 14:09:06 + Subject: [PATCH 1/2] [NFC][FMV] Add tests to demonstrate feature prioriti

[clang] [NFC][FMV] Add tests to demonstrate feature priorities. (PR #79455)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea closed https://github.com/llvm/llvm-project/pull/79455 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [FMV] Add alias for FEAT_RDM and change priorities according to ACLE. (PR #79316)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/79316 >From 3e0a3fe637ad6e815d0ca62f38d39c2a27f8b5d5 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 24 Jan 2024 15:26:01 + Subject: [PATCH] [FMV] Change feature priorities according to ACLE. This

[llvm] [clang] [FMV] Change feature priorities according to ACLE. (PR #79316)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/79316 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [FMV] Change feature priorities according to ACLE. (PR #79316)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited https://github.com/llvm/llvm-project/pull/79316 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [FMV] Change feature priorities according to ACLE. (PR #79316)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
@@ -114,6 +121,10 @@ const AArch64::ArchInfo *AArch64::parseArch(StringRef Arch) { } std::optional AArch64::parseArchExtension(StringRef ArchExt) { + // Resolve aliases first. + ArchExt = resolveExtAlias(ArchExt); labrinea wrote: I will separate this chan

[llvm] [clang] [AArch64][TargetParser] Add mcpu alias for Microsoft Azure Cobalt 100. (PR #79614)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/79614 With a690e86 we added -mcpu/mtune=native support to handle the Microsoft Azure Cobalt 100 CPU as a Neoverse N2. This patch adds a CPU alias in TargetParser to maintain compatibility with GCC. >From 3586485f359

[clang] [llvm] [AArch64][TargetParser] Add mcpu alias for Microsoft Azure Cobalt 100. (PR #79614)

2024-01-26 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/79614 >From e2fe85fb1615abc6e3e82788e7ff26abe329ceeb Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 26 Jan 2024 10:28:19 + Subject: [PATCH] [AArch64][TargetParser] Add mcpu alias for Microsoft Azu

[clang] [llvm] [AArch64][TargetParser] Add mcpu alias for Microsoft Azure Cobalt 100. (PR #79614)

2024-01-29 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/79614 >From 9c7d2d02f59af921cd49f5969b35cbddbec7dfec Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 26 Jan 2024 10:28:19 + Subject: [PATCH] [AArch64][TargetParser] Add mcpu alias for Microsoft Azu

  1   2   3   4   5   6   >