[clang] [llvm] Revert "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95056)

2024-06-10 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/95056 This reverts commit 2cf14398c9341feddb419e7ff9c8c5623a3da3db since it broke the llvm test suite: SingleSource/UnitTests/AArch64/acle-fmv-features.c:59:9: error: instruction requires: altnzcv SingleSource/Unit

[clang] [llvm] Revert "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95056)

2024-06-10 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/95056 >From dc660f11e90e771dd95acf8d37936dbb402588f6 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 10 Jun 2024 23:17:54 +0100 Subject: [PATCH] Revert "[AArch64] Decouple feature dependency expansion.

[clang] [llvm] Revert "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95056)

2024-06-10 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/95056 >From 8d58882c51051a09de10536a418b5518d6ccd14d Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 10 Jun 2024 23:17:54 +0100 Subject: [PATCH] Revert "[AArch64] Decouple feature dependency expansion.

[clang] [llvm] Revert "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95056)

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

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-06-11 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/92319 >From 5e4b981996ece8da962848fe141fed2f9dd46f66 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 14 May 2024 17:46:00 +0100 Subject: [PATCH] [AArch64] Merge duplicate extension information. When w

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

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

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95231)

2024-06-12 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/95231 My reverted attempt to decouple feature dependency expansion (see #95056) made it evident that some features are still using the FMV dependencies in the target attribute. The original commit broke the llvm tes

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95231)

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

[clang] [llvm] Parse target attribute (PR #95519)

2024-06-14 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/95519 This is the second attempt. We should be inserting the Driver features in front of the features of a parsed target attribute to avoid errors like the following: ``` % cat neon.c __attribute__((target("arch=armv8

[clang] [llvm] Parse target attribute (PR #95519)

2024-06-14 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/95519 >From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 14 Jun 2024 08:46:12 +0100 Subject: [PATCH 1/3] Reland "[AArch64] Decouple feature dependency expans

[clang] [llvm] Parse target attribute (PR #95519)

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

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95519)

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

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95519)

2024-06-14 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/95519 >From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 14 Jun 2024 08:46:12 +0100 Subject: [PATCH 1/4] Reland "[AArch64] Decouple feature dependency expans

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95519)

2024-06-18 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/95519 >From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 14 Jun 2024 08:46:12 +0100 Subject: [PATCH 1/5] Reland "[AArch64] Decouple feature dependency expans

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95519)

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

[clang] [llvm] Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (PR #95519)

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

[clang] [llvm] [AArch64][TargetParser] Split FMV and extensions (PR #92882)

2024-06-19 Thread Alexandros Lamprineas via cfe-commits
@@ -13683,9 +13683,9 @@ static std::vector getFMVBackendFeaturesFor( const llvm::SmallVectorImpl &FMVFeatStrings) { std::vector BackendFeats; for (StringRef F : FMVFeatStrings) { -if (auto FMVExt = llvm::AArch64::parseArchExtension(F)) { +if (auto FMVExt = llvm

[clang] [llvm] [FMV] Rectify incomplete ExtensionInfo entries in TargetParser. (PR #89106)

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

[clang] [llvm] [FMV] Rectify incomplete ExtensionInfo entries in TargetParser. (PR #89106)

2024-06-19 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: This has become outdated after the recent tablegen refactoring. I'll rethink about it after https://github.com/llvm/llvm-project/pull/92882 lands https://github.com/llvm/llvm-project/pull/89106 ___ cfe-commits mailing list cfe-commits@

[clang] [llvm] [AArch64][TargetParser] Split FMV and extensions (PR #92882)

2024-06-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea approved this pull request. Looking good Tomas and thanks for your effort to tidy things up. I know this is NFC, but can we rectify the implied features for rcpc2 and rcpc3 by adding rcpc-immo as shown here https://github.com/llvm/llvm-project/pull/92319/files#diff-

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

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

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-06-20 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: closing in favor of https://github.com/llvm/llvm-project/pull/92882 https://github.com/llvm/llvm-project/pull/92319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

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

2024-06-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/96221 Long story short the interaction of two optimizations happening in GlobalOpt results in a crash. For more details look at the issue https://github.com/llvm/llvm-project/issues/96197. I will be fixing this in G

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

2024-06-20 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea edited 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][AArch64][FMV] Stop emitting alias to ifunc. (PR #96221)

2024-06-21 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-21 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] [llvm] Split fmv and extensions (PR #92882)

2024-05-28 Thread Alexandros Lamprineas via cfe-commits
@@ -13664,16 +13665,23 @@ QualType ASTContext::getCorrespondingSignedFixedPointType(QualType Ty) const { } } +// Given a list of FMV features, add each of their backend features to the list. +static void +GetFMVBackendFeaturesFor(const llvm::SmallVector FMVFeatStrings, ---

[clang] [llvm] Split fmv and extensions (PR #92882)

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

[clang] [llvm] Split fmv and extensions (PR #92882)

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

[clang] [llvm] Split fmv and extensions (PR #92882)

2024-05-28 Thread Alexandros Lamprineas via cfe-commits
@@ -1062,35 +1064,41 @@ bool AArch64TargetInfo::initFeatureMap( llvm::AArch64::getExtensionFeatures(Exts, CPUFeats); labrinea wrote: I am wondering if calling ExtensionSet::addCPUDefaults here would be preferable. It's not NFC. I saw a test failing because

[clang] [llvm] Split fmv and extensions (PR #92882)

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

[clang] [llvm] Split fmv and extensions (PR #92882)

2024-05-28 Thread Alexandros Lamprineas via cfe-commits
@@ -13754,11 +13760,14 @@ void ASTContext::getFunctionFeatureMap(llvm::StringMap &FeatureMap, } Target->initFeatureMap(FeatureMap, getDiagnostics(), TargetCPU, Features); } else if (const auto *TV = FD->getAttr()) { -std::vector Feats = filterFunctionTargetVersio

[clang] [llvm] Split fmv and extensions (PR #92882)

2024-05-29 Thread Alexandros Lamprineas via cfe-commits
@@ -13754,11 +13750,14 @@ void ASTContext::getFunctionFeatureMap(llvm::StringMap &FeatureMap, } Target->initFeatureMap(FeatureMap, getDiagnostics(), TargetCPU, Features); } else if (const auto *TV = FD->getAttr()) { -std::vector Feats = filterFunctionTargetVersio

[clang] [llvm] [AArch64] Remove SME/SVE uses of FMVDependencies (PR #93695)

2024-05-30 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea approved this pull request. I am also supporting this change. We have been trying to refactor attribute parsing for target/target_clones/target_version, as well as the target feature expansion which happens due to these attributes. It's a huge mess. Sorting such tes

[clang] [llvm] [AArch64] Remove SME/SVE uses of FMVDependencies (PR #93695)

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

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-03 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/94279 The dependency expansion step which was introduced by FMV has been erroneously used for non-FMV features, for example when parsing the target attribute. The PR #93695 has rectified most of the tests which were

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-03 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/94279 >From a413428bb0fdcd45b4a251e385b6cc00ff6a0a2c Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Mon, 3 Jun 2024 19:57:49 +0100 Subject: [PATCH] [AArch64] Decouple feature dependency expansion. The dep

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-03 Thread Alexandros Lamprineas via cfe-commits
@@ -27,7 +27,7 @@ int main(void) { (void)__builtin_cpu_supports("x86-64-v4"); (void)__builtin_cpu_supports("x86-64-v5"); // expected-warning {{invalid cpu feature string for builtin}} #else - if (__builtin_cpu_supports("neon")) // expected-warning {{invalid cpu feature s

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-03 Thread Alexandros Lamprineas via cfe-commits
@@ -579,6 +537,62 @@ inline constexpr CpuInfo CpuInfos[] = { AArch64::AEK_SSBS, AArch64::AEK_CSSC})}, }; +struct ExtensionSet { labrinea wrote: This has to move after the definition of `ArchInfo` because the method `toLLVMFeatu

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-03 Thread Alexandros Lamprineas via cfe-commits
@@ -106,7 +106,7 @@ def FeatureFPARMv8 : Extension<"fp-armv8", "FPARMv8", "Enable ARMv8 (FEAT_FP)", [], "FEAT_FP", "+fp-armv8,+neon", 90>; -let ArchExtKindSpelling = "AEK_SIMD", MArchName = "simd" in +let ArchExtKindSpelling = "AEK_SIMD", MArchName = "simd", MArchAlias = "

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

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

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-04 Thread Alexandros Lamprineas via cfe-commits
@@ -58,58 +58,57 @@ void v1msve() {} // CHECK-LABEL: @plussve() #12 __attribute__((target("+sve"))) void plussve() {} -// CHECK-LABEL: @plussveplussve2() #13 +// CHECK-LABEL: @plussveplussve2() #12 __attribute__((target("+sve+nosve2"))) void plussveplussve2() {} -// CHECK-LAB

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

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

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-04 Thread Alexandros Lamprineas via cfe-commits
@@ -69,8 +69,8 @@ void undefined(uint32x2_t v2i32, uint32x4_t v4i32, uint16x8_t v8i16, uint8x16_t vrnd_f16(v4f16); // expected-error {{always_inline function 'vrnd_f16' requires target feature 'fullfp16'}} vmaxnm_f16(v4f16, v4f16); // expected-error {{always_inline functio

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-05 Thread Alexandros Lamprineas via cfe-commits
@@ -69,8 +69,8 @@ void undefined(uint32x2_t v2i32, uint32x4_t v4i32, uint16x8_t v8i16, uint8x16_t vrnd_f16(v4f16); // expected-error {{always_inline function 'vrnd_f16' requires target feature 'fullfp16'}} vmaxnm_f16(v4f16, v4f16); // expected-error {{always_inline functio

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-05 Thread Alexandros Lamprineas via cfe-commits
@@ -166,6 +174,11 @@ void AArch64::ExtensionSet::enable(ArchExtKind E) { Touched.set(E); Enabled.set(E); + // These depend on each other, meaning you can't have one without the other. + // We don't want this to be in ExtensionDependencies to avoid infinite loops. + if (

[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

2024-06-05 Thread Alexandros Lamprineas via cfe-commits
@@ -250,13 +248,17 @@ void AArch64::ExtensionSet::addArchDefaults(const ArchInfo &Arch) { bool AArch64::ExtensionSet::parseModifier(StringRef Modifier) { LLVM_DEBUG(llvm::dbgs() << "parseModifier(" << Modifier << ")\n"); - bool IsNegated = Modifier.starts_with("no"); - St

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

2024-04-16 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/88965 As explained in https://github.com/ARM-software/acle/pull/315 we are deprecating features which aren't adding any value. >From 9c2dc3240d79e4a05015bcc60a300e94971ae983 Mon Sep 17 00:00:00 2001 From: Alexandros

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

2024-04-16 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: In a follow up patch I will be sorting out inconsistencies in TargetParser regarding: * features without corresponding ArchExtKind * features without (Neg)Feature string * features with incorrect DependentFeatures string https://github.com/llvm/llvm-project/pull/88965 __

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

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

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

2024-04-16 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/88965 >From 22dffaef7a1f8e3cd8efdbf51536e38986d622ea Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 16 Apr 2024 19:42:07 +0100 Subject: [PATCH] [FMV] Remove useless features according the latest ACLE

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

2024-04-16 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: > Mind listing which ones are affected in the commit summary? Done https://github.com/llvm/llvm-project/pull/88965 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

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

2024-04-17 Thread Alexandros Lamprineas via cfe-commits
@@ -67,57 +67,42 @@ enum CPUFeatures { FEAT_FP, FEAT_SIMD, FEAT_CRC, - FEAT_SHA1, FEAT_SHA2, FEAT_SHA3, FEAT_AES, - FEAT_PMULL, FEAT_FP16, - FEAT_DIT, FEAT_DPB, FEAT_DPB2, FEAT_JSCVT, FEAT_FCMA, FEAT_RCPC, FEAT_RCPC2, FEAT_FRINTTS, - F

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

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

[clang] [llvm] [FMV] Rectify incomplete ExtensionInfo entries in TargetParser. (PR #89106)

2024-04-17 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/89106 This patch is sorting out inconsistencies in TargetParser regarding: * features without corresponding ArchExtKind * features without (Neg)Feature string * features with incorrect DependentFeatures string Also f

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

2024-04-18 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea converted_to_draft 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] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-23 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/100181 * Allow arm-streaming if all the functions versions adhere to it. * Allow arm-streaming-compatible if all the functions versions adhere to it. * Allow arm-locally-streaming regardless of the other functions vers

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/100181 >From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 23 Jul 2024 19:24:41 +0100 Subject: [PATCH 1/2] [clang][FMV][AArch64] Improve streaming mode compa

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
@@ -11145,7 +11148,24 @@ bool Sema::areMultiversionVariantFunctionsCompatible( FunctionType::ExtInfo OldTypeInfo = OldType->getExtInfo(); FunctionType::ExtInfo NewTypeInfo = NewType->getExtInfo(); -if (OldTypeInfo.getCC() != NewTypeInfo.getCC()) +const auto *Ol

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
@@ -11145,7 +11148,24 @@ bool Sema::areMultiversionVariantFunctionsCompatible( FunctionType::ExtInfo OldTypeInfo = OldType->getExtInfo(); FunctionType::ExtInfo NewTypeInfo = NewType->getExtInfo(); -if (OldTypeInfo.getCC() != NewTypeInfo.getCC()) +const auto *Ol

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/100181 >From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 23 Jul 2024 19:24:41 +0100 Subject: [PATCH 1/3] [clang][FMV][AArch64] Improve streaming mode compa

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

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

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
@@ -3183,6 +3183,25 @@ class ASTContext : public RefCountedBase { const FunctionDecl *FD, llvm::function_ref Pred) const; + bool areFMVCompatible(const FunctionDecl *FD1, +const FunctionDecl *FD2) const { +if (!hasSameType(FD1->getRetur

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-24 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/100181 >From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 23 Jul 2024 19:24:41 +0100 Subject: [PATCH 1/4] [clang][FMV][AArch64] Improve streaming mode compa

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

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

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-25 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/100181 >From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 23 Jul 2024 19:24:41 +0100 Subject: [PATCH 1/5] [clang][FMV][AArch64] Improve streaming mode compa

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

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

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-29 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: /cherry-pick [f8ae128](https://github.com/llvm/llvm-project/commit/f8ae128755777424cf4133e4e8e819c0bc08d2b1) https://github.com/llvm/llvm-project/pull/100181 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

[clang] [clang][FMV][AArch64] Improve streaming mode compatibility. (PR #100181)

2024-07-29 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Created a PR for the backport https://github.com/llvm/llvm-project/pull/101007 https://github.com/llvm/llvm-project/pull/100181 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

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

[clang] [FMV][AArch64] Do not optimize away runtime checks for implied features (PR #99522)

2024-07-18 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/99522 When generating the body of the ifunc resolver, clang skips runtime checks for features that are implied from the command line. We bend this rule for certain features (memtag, bti, dgh), but this happens quite

[clang] [FMV][AArch64] Do not optimize away runtime checks for implied features (PR #99522)

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

[clang] [llvm] [ARM][AArch64] Split FEAT_SHA1 from FEAT_SHA256. (PR #99816)

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

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-27 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/101712 >From 2fe8ef63846989952a1c72b83114aabe6f36637a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 2 Aug 2024 17:32:23 +0100 Subject: [PATCH] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V.

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

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

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-29 Thread Alexandros Lamprineas via cfe-commits
@@ -305,9 +305,17 @@ def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT", "FEAT_WFxT", def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX", "Enable Armv8.7-A HCRX_EL2 system register">; -def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64", - "FEAT_LS64, FEAT_LS64_V, FEAT_L

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-29 Thread Alexandros Lamprineas via cfe-commits
@@ -305,9 +305,17 @@ def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT", "FEAT_WFxT", def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX", "Enable Armv8.7-A HCRX_EL2 system register">; -def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64", - "FEAT_LS64, FEAT_LS64_V, FEAT_L

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-29 Thread Alexandros Lamprineas via cfe-commits
@@ -3682,6 +3682,8 @@ static const struct Extension { {"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}}, {"sve2p1", {AArch64::FeatureSVE2p1}}, {"ls64", {AArch64::FeatureLS64}}, +{"ls64_v", {AArch64::FeatureLS64_V}}, +{"ls64_accdata", {AArch64::FeatureLS64_ACCD

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-29 Thread Alexandros Lamprineas via cfe-commits
@@ -3682,6 +3682,8 @@ static const struct Extension { {"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}}, {"sve2p1", {AArch64::FeatureSVE2p1}}, {"ls64", {AArch64::FeatureLS64}}, +{"ls64_v", {AArch64::FeatureLS64_V}}, +{"ls64_accdata", {AArch64::FeatureLS64_ACCD

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-30 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/101712 >From 2fe8ef63846989952a1c72b83114aabe6f36637a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 2 Aug 2024 17:32:23 +0100 Subject: [PATCH] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V.

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-30 Thread Alexandros Lamprineas via cfe-commits
@@ -3682,6 +3682,8 @@ static const struct Extension { {"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}}, {"sve2p1", {AArch64::FeatureSVE2p1}}, {"ls64", {AArch64::FeatureLS64}}, +{"ls64_v", {AArch64::FeatureLS64_V}}, +{"ls64_accdata", {AArch64::FeatureLS64_ACCD

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Alexandros Lamprineas via cfe-commits
@@ -261,9 +261,9 @@ __attribute__((target_version("jscvt"))) int default_def_with_version_decls(void // CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+lse,-v9.5a" } // CHECK: attribute

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-05-17 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/92319 >From 0c00fc2537f9b6335aa35535ffaf09c57051f086 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Tue, 14 May 2024 17:46:00 +0100 Subject: [PATCH] [AArch64] Merge duplicate extension information. When w

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

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

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-05-18 Thread Alexandros Lamprineas via cfe-commits
@@ -56,43 +52,64 @@ class Extension< // The FMV priority int FMVPriority = _FMVPriority; + +// Indicates if the extension is available on the command line. +string IsFMVOnly = _IsFMVOnly; } // Some extensions are available for FMV but can not be controlled

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-05-18 Thread Alexandros Lamprineas via cfe-commits
@@ -56,43 +52,64 @@ class Extension< // The FMV priority int FMVPriority = _FMVPriority; + +// Indicates if the extension is available on the command line. +string IsFMVOnly = _IsFMVOnly; labrinea wrote: We want the ExtensionInfo field to be o

[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)

2024-05-18 Thread Alexandros Lamprineas via cfe-commits
@@ -94,19 +94,21 @@ static void EmitARMTargetDef(RecordKeeper &RK, raw_ostream &OS) { else OS << ", \"" << Alias << "\""; OS << ", AArch64::" << AEK; -if (AEK == "AEK_NONE") { +auto Name = Rec->getValueAsString("Name"); +if (Name.empty()) { --

[clang] [llvm] Split fmv and extensions (PR #92882)

2024-05-21 Thread Alexandros Lamprineas via cfe-commits
@@ -0,0 +1,84 @@ +// Function MultiVersioning (FMV) properties + +// Something you can add to target_version or target_clones +class FMVExtension { +// Name, as spelled in target_version or target_clones. e.g. "memtag" +string Name = n; + +// A C++ expression giving th

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/93044 Fixes a bug: ../llvm-project/clang/test/Sema/fmv-namespace.cpp:8:18: warning: attribute declaration must precede definition [-Wignored-attributes] 8 | int __attribute((target_version("sve"))) foo() { retur

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

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

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/93044 >From e1de85dc4b5fe09a8b6df2e10c16e58805e8873a Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 22 May 2024 15:55:58 +0100 Subject: [PATCH] [clang][FMV] Allow declaration of function versions in

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-22 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/93044 >From 1eb344d7a5e63c3e4e9e58f9141697d9d62b428c Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 22 May 2024 15:55:58 +0100 Subject: [PATCH] [clang][FMV] Allow declaration of function versions in

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

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

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-22 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: I found another bug for implicitly declared default versions not having the namespece mangling. Fixed now, please take another look. https://github.com/llvm/llvm-project/pull/93044 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-23 Thread Alexandros Lamprineas via cfe-commits
@@ -11868,8 +11868,10 @@ static bool CheckMultiVersionFunction(Sema &S, FunctionDecl *NewFD, return false; if (!OldDecl || !OldDecl->getAsFunction() || - OldDecl->getDeclContext()->getRedeclContext() != - NewFD->getDeclContext()->getRedeclContext()) { +

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-23 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/93044 >From 730c8c5081862b330d66455a0495e9d317da1795 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 22 May 2024 15:55:58 +0100 Subject: [PATCH] [clang][FMV] Allow declaration of function versions in

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

2024-05-23 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea updated https://github.com/llvm/llvm-project/pull/93044 >From ba2b8b53d80e17b1477a7d6fed51f0450bc539a3 Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Wed, 22 May 2024 15:55:58 +0100 Subject: [PATCH] [clang][FMV] Allow declaration of function versions in

[clang] [clang][FMV] Allow declaration of function versions in namespaces. (PR #93044)

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

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-02 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/101712 These extensions depend on each other as follows: ls64 -> ls64_v -> ls64_accdata Currently in LLVM FeatureLS64 models all three lumped together. However the architecture does not mandate that all three need to

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-02 Thread Alexandros Lamprineas via cfe-commits
labrinea wrote: Just letting you know that I will be on holiday for a couple of weeks before I have a chance to respond to review comments. https://github.com/llvm/llvm-project/pull/101712 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:

<    1   2   3   4   5   6   >