[clang] [clang][FMV] Pass the '+fmv' target-feature when FMV is enabled. (PR #87942)

2024-08-24 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: > @labrinea @jroelofs Is there anything that still needs to be done here or can > this be merged? Currently the dependent PR #87939 is on hold. Unless it moves forward this PR is not needed. https://github.com/llvm/llvm-project/pull/87942 __

[clang] [clang][AArch64][FMV] Stop emitting alias to ifunc. (PR #96221)

2024-06-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/96221 >From 4b884669236cae2d5ac42a95517d9ce57060a494 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 20 Jun 2024 17:40:44 +0100 Subject: [PATCH 1/2] [clang][AArch64][FMV] Stop emitting alias to ifunc.

[clang] [clang][AArch64][FMV] Stop emitting alias to ifunc. (PR #96221)

2024-06-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/96221 >From 4b884669236cae2d5ac42a95517d9ce57060a494 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 20 Jun 2024 17:40:44 +0100 Subject: [PATCH 1/2] [clang][AArch64][FMV] Stop emitting alias to ifunc.

[clang] [clang][AArch64][FMV] Stop emitting alias to ifunc. (PR #96221)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/96628 Fixes a crash and cleans up some dead code. namespace Foo { int bar(); __attribute((target_version("default"))) int bar() { return 0; } __attribute((target_version("mops"))) int bar() { return 1; } } $ clang++

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-25 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Alternative one liner: ``` diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index dd4a665ebc78..0c96a6de091a 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -3763,7 +3763,7 @@ void CodeGenModule::

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-25 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: @ilinpv, @DanielKristofKiss, the patch https://github.com/llvm/llvm-project/pull/65671/files doesn't seem right. I have basically reverted it with my change, ensuring the original crash you were trying to fix doesn't occur. FYI `MVKind == MultiVersionKind::None` is equivallent

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-25 Thread Alexandros Lamprineas via cfe-commits
@@ -11543,8 +11551,7 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, } // If this is 'default', permit the forward declaration. - if ((NewTA && NewTA->isDefaultVersion() && !OldTA) || - (NewTVA && NewTVA->isDefaultVersion() && !OldTVA))

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-27 Thread Alexandros Lamprineas via cfe-commits
@@ -102,8 +102,9 @@ int __attribute__((target_version("sha2"))) combine(void) { return 1; } // expected-error@+1 {{multiversioned function declaration has a different calling convention}} int __attribute__((aarch64_vector_pcs, target_version("sha3"))) combine(void) { return 2

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-27 Thread Alexandros Lamprineas via cfe-commits
@@ -102,8 +102,9 @@ int __attribute__((target_version("sha2"))) combine(void) { return 1; } // expected-error@+1 {{multiversioned function declaration has a different calling convention}} int __attribute__((aarch64_vector_pcs, target_version("sha3"))) combine(void) { return 2

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-27 Thread Alexandros Lamprineas via cfe-commits
@@ -11523,10 +11525,16 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, const auto *OldTVA = OldFD->getAttr(); // If the old decl is NOT MultiVersioned yet, and we don't cause that // to change, this is a simple redeclaration. - if ((NewTA &

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/96628 >From ff4635208e9cd83c6735c95ebf12125ca737029a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 25 Jun 2024 00:27:45 +0100 Subject: [PATCH 1/2] [clang][FMV] Do not omit explicit default target_ver

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
@@ -11576,22 +11584,6 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, } } - if (NewTVA) { labrinea wrote: This is checking things like ``` //expected-note@+1 {{previous declaration is here}} void __attribute__((target_ver

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
@@ -11465,6 +11465,10 @@ static bool CheckMultiVersionFirstFunction(Sema &S, FunctionDecl *FD) { // otherwise it is treated as a normal function. if (TA && !TA->isDefaultVersion()) return false; + // The target_version attribute only causes Multiversioning if this +

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
@@ -11523,10 +11525,17 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, const auto *OldTVA = OldFD->getAttr(); // If the old decl is NOT MultiVersioned yet, and we don't cause that // to change, this is a simple redeclaration. - if ((NewTA &

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
@@ -11576,22 +11584,6 @@ static bool CheckTargetCausesMultiVersioning(Sema &S, FunctionDecl *OldFD, } } - if (NewTVA) { labrinea wrote: The assertion should be conditional when NewTVA is not null because the function is used for the target attribute

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
@@ -11465,6 +11465,10 @@ static bool CheckMultiVersionFirstFunction(Sema &S, FunctionDecl *FD) { // otherwise it is treated as a normal function. if (TA && !TA->isDefaultVersion()) return false; + // The target_version attribute only causes Multiversioning if this +

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

2024-06-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/96628 >From ff4635208e9cd83c6735c95ebf12125ca737029a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 25 Jun 2024 00:27:45 +0100 Subject: [PATCH 1/3] [clang][FMV] Do not omit explicit default target_ver

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove feature sha1 from FMV. (PR #108383)

2024-09-12 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/108383 Sha1 has been unified with sha2 in the ACLE spec (see https://github.com/ARM-software/acle/pull/347) so I am changing the compiler to adhere to it. >From 50820f4f3ded438162a33eabca84c5077fd2a5aa Mon Sep 17 00:0

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove feature sha1 from FMV. (PR #108383)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove feature sha1 from FMV. (PR #108383)

2024-09-13 Thread Alexandros Lamprineas via cfe-commits
@@ -33,7 +33,6 @@ enum CPUFeatures { FEAT_FP, FEAT_SIMD, FEAT_CRC, - FEAT_SHA1, labrinea wrote: It was raised on another pr, so perhaps it is. https://github.com/llvm/llvm-project/pull/108383 ___ cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify ls64, ls64_v and ls64_accdata. (PR #108024)

2024-09-13 Thread Alexandros Lamprineas via cfe-commits
@@ -73,8 +73,6 @@ enum CPUFeatures { FEAT_SSBS, FEAT_SSBS2, FEAT_BTI, - FEAT_LS64, - FEAT_LS64_V, labrinea wrote: Thanks for flagging this up. I am puzzled though since I was under the impression that FMV is still not production ready. When did the en

[clang] [AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (PR #108857)

2024-09-16 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/108857 Adds __ARM_ACLE_VERSION and __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL as defined here https://github.com/ARM-software/acle/pull/301 and here https://github.com/ARM-software/acle/pull/302. Also bumps __ARM_ACL

[clang] [AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (PR #108857)

2024-09-16 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/108857 >From cc3f72918aadab7df7397c25de280e713d1257f2 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 16 Sep 2024 17:39:07 +0100 Subject: [PATCH 1/2] [AArch64] Add missing ACLE predefined macros and up

[clang] [AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (PR #108857)

2024-09-16 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Thanks for reviewing! https://github.com/llvm/llvm-project/pull/108857 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV][AArch64][NFC] Cleanup attribute metadata from test files. (PR #111386)

2024-10-07 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/111386 We have a dedicated test to check the target-features for FMV (clang/test/CodeGen/aarch64-fmv-dependencies.c) therefore I am removing the autogenerated checks from irrelevant tests since the noise is making it

[clang] [FMV][AArch64][NFC] Cleanup attribute metadata from test files. (PR #111386)

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

[clang] [llvm] Add ifunc support for Windows on AArch64. (PR #111962)

2024-10-14 Thread Alexandros Lamprineas via cfe-commits
@@ -1505,6 +1505,10 @@ class TargetInfo : public TransferrableTargetInfo, bool supportsIFunc() const { if (getTriple().isOSBinFormatMachO()) return true; +if (getTriple().isOSWindows() && getTriple().isAArch64()) + return true; +if (getTriple().getArch(

[clang] [llvm] Add ifunc support for Windows on AArch64. (PR #111962)

2024-10-14 Thread Alexandros Lamprineas via cfe-commits
@@ -0,0 +1,65 @@ +// RUN: %clang_cc1 -triple aarch64-pc-windows-msvc -emit-llvm -o - %s | FileCheck %s labrinea wrote: Is this test file specific to AArch64? If so is it worth adding an 'aarch64-' prefix to it? https://github.com/llvm/llvm-project/pull/111962

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

2024-10-09 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/111673 According to the Arm Architecture Reference Manual for A-profile architecture you can't have one feature without having the other: ID_AA64ZFR0_EL1.AES, bits [7:4] > FEAT_SVE_AES implements the functionality i

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-07 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/110297 >From 82047dc021979fe58001b15c740649c3d44dd23b Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 27 Sep 2024 16:37:26 +0100 Subject: [PATCH] [FMV][AArch64] Unify features ssbs and ssbs2. Accordin

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-04 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Ping https://github.com/llvm/llvm-project/pull/110297 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-09-30 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/110297 >From 82047dc021979fe58001b15c740649c3d44dd23b Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 27 Sep 2024 16:37:26 +0100 Subject: [PATCH] [FMV][AArch64] Unify features ssbs and ssbs2. Accordin

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-06 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Thanks for reviewing! Once this lands it will break the llvm test suite. [This](https://github.com/llvm/llvm-test-suite/pull/168) fixes it. https://github.com/llvm/llvm-project/pull/110297 ___ cfe-commits mailing list cfe-commits@lists

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

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

[clang] [llvm] [AArch64] Split FeatureAES to FEAT_AES and FEAT_PMULL. (PR #110816)

2024-10-02 Thread Alexandros Lamprineas via cfe-commits
@@ -1117,39 +1117,41 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de // CHECK: attributes #[[ATTR2]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+lse,+neon,+sha2" }

[clang] [llvm] [AArch64] Split FeatureAES to FEAT_AES and FEAT_PMULL. (PR #110816)

2024-10-02 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Adding the GCC folks @andrewcarlotti and @Wilco1 for visibility. https://github.com/llvm/llvm-project/pull/110816 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Split FeatureAES to FEAT_AES and FEAT_PMULL. (PR #110816)

2024-10-02 Thread Alexandros Lamprineas via cfe-commits
@@ -88,9 +88,9 @@ def : FMVExtension<"sve-bf16", "FEAT_SVE_BF16", "+sve,+bf16,+fullfp16,+fp-armv8, def : FMVExtension<"sve-ebf16", "FEAT_SVE_EBF16", "+sve,+bf16,+fullfp16,+fp-armv8,+neon", 330>; def : FMVExtension<"sve-i8mm", "FEAT_SVE_I8MM", "+sve,+i8mm,+fullfp16,+fp-armv8,+

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-02 Thread Alexandros Lamprineas via cfe-commits
@@ -1125,31 +1125,32 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de // CHECK: attributes #[[ATTR10]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+ls64,+neon" } // C

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

2024-10-16 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/112511 If we split these features in the compiler (see relevant pull request https://github.com/llvm/llvm-project/pull/109299), we would only be able to hand-write a 'memtag2' version using inline assembly since the

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

2024-10-21 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Ping. https://github.com/llvm/llvm-project/pull/112511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

2024-10-21 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/112511 >From ae0d1f894f15d0af299210bb617dbaf905797a39 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 15 Oct 2024 17:43:25 +0100 Subject: [PATCH] [FMV][AArch64] Unify features memtag and memtag2. If w

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features memtag and memtag2. (PR #112511)

2024-10-17 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: > I don't understand this distinction: why is FMV seen as user-space only? I had to clarify this with @Wilco1 and @DanielKristofKiss. My understanding is that FMV implementations which rely on ifuncs (Linux) only work in address spaces where a dynamic linker can be used. This l

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

2024-10-22 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Thanks. IMHO this counts as supporting evidence to why some FMV features are obsolete and should be unified with others or removed from the ACLE spec. https://github.com/llvm/llvm-project/pull/113281 ___ cfe-commits mailing list cfe-co

[clang] [compiler-rt] [llvm] [AArch64] Split FeatureMTE to FEAT_MTE and FEAT_MTE2. (PR #109299)

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

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

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

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

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

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

2024-10-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/113281 Currently we maintain a hand written list of subtarget features which we are implied for a given FMV feature. It is more robust to expand such dependencies using ExtensionDependency from TargetParser, since th

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

2024-10-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113281 >From 2b416dd0071d45be3f92671f0cb238091689a9dd Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 21 Oct 2024 17:15:47 +0100 Subject: [PATCH 1/2] [FMV][AArch64] Expand feature dependencies using A

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

2024-10-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/113580 Removes sve-bf16, sve-ebf16, and sve-i8mm since they are obsolete. One could write target_version("sve+bf16") instead of sve-bf16 for instance. Approved in ACLE as https://github.com/ARM-software/acle/pull/353

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

2024-10-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113580 >From ff05dea7d4509d3a1ead7e2bcef685db62afe07a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 24 Oct 2024 15:58:53 +0100 Subject: [PATCH 1/2] [FMV][AArch64] Remove features which can be express

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

2024-10-29 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113580 >From ff05dea7d4509d3a1ead7e2bcef685db62afe07a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 24 Oct 2024 15:58:53 +0100 Subject: [PATCH 1/3] [FMV][AArch64] Remove features which can be express

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

2024-10-29 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113580 >From ff05dea7d4509d3a1ead7e2bcef685db62afe07a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 24 Oct 2024 15:58:53 +0100 Subject: [PATCH 1/3] [FMV][AArch64] Remove features which can be express

[clang] [compiler-rt] [llvm] Reland "[FMV] Remove useless features according the latest ACLE spec." (PR #89232)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which expose non exploitable runtime behavior. (PR #114387)

2024-11-04 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/114387 >From 71786e09b65da73e998cbce32386a54e9eb3ee1e Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 29 Oct 2024 16:45:47 + Subject: [PATCH 1/2] [FMV][AArch64] Remove features which expose non ex

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which expose non exploitable runtime behavior. (PR #114387)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which expose non exploitable runtime behavior. (PR #114387)

2024-11-05 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/114387 >From 71786e09b65da73e998cbce32386a54e9eb3ee1e Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 29 Oct 2024 16:45:47 + Subject: [PATCH 1/2] [FMV][AArch64] Remove features which expose non ex

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which expose non exploitable runtime behavior. (PR #114387)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove features which can be expressed as a combination of others. (PR #113580)

2024-10-28 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113580 >From ff05dea7d4509d3a1ead7e2bcef685db62afe07a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Thu, 24 Oct 2024 15:58:53 +0100 Subject: [PATCH 1/2] [FMV][AArch64] Remove features which can be express

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

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

[clang] [llvm] [AArch64] Split FeatureAES to FEAT_AES and FEAT_PMULL. (PR #110816)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

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

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

2024-10-23 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/111673 >From 776d91886d9187319575d9ccd7f9076526635f67 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 8 Oct 2024 11:01:16 +0100 Subject: [PATCH] [FMV][AArch64] Unify aes with pmull and sve2-aes with s

[clang] [clang][FMV] Fix crash with cpu_specific attribute. (PR #115762)

2024-11-11 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/115762 Raised here https://github.com/llvm/llvm-project/issues/115299. The commit a2d3099 introduced `replaceDeclarationWith`, but it shouldn't be called by the fallthrough code which handles the cpu_specific attribu

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
@@ -6,10 +6,10 @@ tbx z0.b, z1.b, z2.b // CHECK: error: instruction requires: sve2 or sme // CHECK-NEXT: tbx z0.b, z1.b, z2.b -.arch_extension sve2-aes -.arch_extension nosve2-aes +.arch_extension sve-aes +.arch_extension nosve-aes labrinea wrote: Here you ar

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

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

[clang] [clang][FMV] Pass the '+fmv' target-feature when FMV is enabled. (PR #87942)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/87942 >From 38eea2eca0a852965f6b3d2037c5c0f2905ce6db Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Sun, 7 Apr 2024 16:04:12 +0100 Subject: [PATCH] [clang][FMV] Pass the '+fmv' target-feature when FMV is

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
@@ -365,9 +365,12 @@ def FeatureSVE2 : ExtensionWithMArch<"sve2", "SVE2", "FEAT_SVE2", "Enable Scalable Vector Extension 2 (SVE2) instructions", [FeatureSVE, FeatureUseScalarIncVL]>; -def FeatureSVE2AES : ExtensionWithMArch<"sve2-aes", "SVE2AES", +def FeatureSVEAES : Exte

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
@@ -78,7 +78,7 @@ def : FMVExtension<"sme2", "FEAT_SME2", "+sme2,+sme,+bf16", 580>; def : FMVExtension<"ssbs", "FEAT_SSBS2", "+ssbs", 490>; def : FMVExtension<"sve", "FEAT_SVE", "+sve,+fullfp16,+fp-armv8,+neon", 310>; def : FMVExtension<"sve2", "FEAT_SVE2", "+sve2,+sve,+fullf

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: This doesn't seem right. The breaks https://github.com/llvm/llvm-project/pull/113281. I can see your commit https://github.com/llvm/llvm-project/pull/114293/commits/ec6f646e905c16a161487fea34c7dea09635c150 which tries to address it. The patch suggests that the FMV feature sve2-

[clang] [lldb] [llvm] Revert "[AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (#114… (PR #115539)

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

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-08 Thread Alexandros Lamprineas via cfe-commits
@@ -769,7 +769,7 @@ bool AArch64TargetInfo::hasFeature(StringRef Feature) const { .Case("f32mm", FPU & SveMode && HasMatmulFP32) .Case("f64mm", FPU & SveMode && HasMatmulFP64) .Case("sve2", FPU & SveMode && HasSVE2) - .Case("sve2-pmull128", FPU & SveMode

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-11 Thread Alexandros Lamprineas via cfe-commits
@@ -6,10 +6,10 @@ tbx z0.b, z1.b, z2.b // CHECK: error: instruction requires: sve2 or sme // CHECK-NEXT: tbx z0.b, z1.b, z2.b -.arch_extension sve2-aes -.arch_extension nosve2-aes +.arch_extension sve-aes +.arch_extension nosve-aes labrinea wrote: You may fin

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

2024-11-11 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113281 >From 2b416dd0071d45be3f92671f0cb238091689a9dd Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 21 Oct 2024 17:15:47 +0100 Subject: [PATCH 1/4] [FMV][AArch64] Expand feature dependencies using A

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

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

[clang] [llvm] [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (PR #113281)

2024-11-11 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/113281 >From 2b416dd0071d45be3f92671f0cb238091689a9dd Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 21 Oct 2024 17:15:47 +0100 Subject: [PATCH 1/4] [FMV][AArch64] Expand feature dependencies using A

[clang] [lldb] [llvm] [AArch64] Reduce +sve2-aes to an alias of +sve-aes+sve2 (PR #114293)

2024-11-11 Thread Alexandros Lamprineas via cfe-commits
@@ -6,10 +6,10 @@ tbx z0.b, z1.b, z2.b // CHECK: error: instruction requires: sve2 or sme // CHECK-NEXT: tbx z0.b, z1.b, z2.b -.arch_extension sve2-aes -.arch_extension nosve2-aes +.arch_extension sve-aes +.arch_extension nosve-aes labrinea wrote: > all sve2-

[clang] [llvm] Make +sve2-aes an alias of +sve2+sve-aes (PR #116026)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
@@ -6,10 +6,15 @@ tbx z0.b, z1.b, z2.b // CHECK: error: instruction requires: sve2 or sme // CHECK-NEXT: tbx z0.b, z1.b, z2.b -.arch armv9-a+sve2-aes labrinea wrote: I have a feeling that the entire file is wrong. The pairs of lines `.arch +` followed by `.a

[clang] [llvm] Make +sve2-aes an alias of +sve2+sve-aes (PR #116026)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
@@ -769,7 +769,7 @@ bool AArch64TargetInfo::hasFeature(StringRef Feature) const { .Case("f32mm", FPU & SveMode && HasMatmulFP32) .Case("f64mm", FPU & SveMode && HasMatmulFP64) .Case("sve2", FPU & SveMode && HasSVE2) - .Case("sve2-pmull128", FPU & SveMode

[clang] [llvm] Make +sve2-aes an alias of +sve2+sve-aes (PR #116026)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
@@ -861,12 +861,10 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector &Features, HasSVE2 = true; HasSVE2p1 = true; } -if (Feature == "+sve2-aes") { +if (Feature == "+sve-aes") { labrinea wrote: If I understand correctly the Ta

[clang] [llvm] Add ifunc support for Windows on AArch64. (PR #111962)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: I'll let others approve since I am not a windows expert, but it looks okay from my end at least. https://github.com/llvm/llvm-project/pull/111962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/ma

[clang] [FMV] Add "+fmv" to the target-features of versioned functions. (PR #116028)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/116028 This essentially propagates the information that a function is versioned from source code to IR. >From d1b4c03ca78626dfc2d46ad60d8e0940d6589f73 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed,

[clang] [FMV] Add "+fmv" to the target-features of versioned functions. (PR #116028)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: This is an improvement over https://github.com/llvm/llvm-project/pull/87942 so that we don't optimize non FMV ifuncs as explained here https://github.com/llvm/llvm-project/pull/87939#issuecomment-2470557080 https://github.com/llvm/llvm-project/pull/116028 __

[clang] [clang][FMV] Pass the '+fmv' target-feature when FMV is enabled. (PR #87942)

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

[clang] [clang][FMV] Pass the '+fmv' target-feature when FMV is enabled. (PR #87942)

2024-11-13 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Closing in favor of https://github.com/llvm/llvm-project/pull/116028 https://github.com/llvm/llvm-project/pull/87942 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV] Add "+fmv" to the target-features of versioned functions. (PR #116028)

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

[clang] [llvm] Make +sve2-aes an alias of +sve2+sve-aes (PR #116026)

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

<    1   2   3   4   5   6   >