[clang] [llvm] [AArch64] Introduce the Armv9.5-A architecture version (PR #72392)

2023-11-15 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/72392 This introduces the Armv9.5-A architecture version, including the relevant command-line option for -march. Mode details about the Armv9.5-A architecture version can be found at: * https://community.arm.com/arm

[llvm] [clang] [AArch64] Introduce the Armv9.5-A architecture version (PR #72392)

2023-11-15 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/72392 >From 98ac417eff3ba114cc56241635917190930df266 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Tue, 14 Nov 2023 11:26:25 + Subject: [PATCH 1/2] [AArch64] Introduce the Armv9.5-A architecture version This

[llvm] [clang] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
@@ -1372,6 +1408,11 @@ def ProcessorFeatures { FeatureSPE, FeatureBF16, FeatureMatMulInt8, FeatureMTE, FeatureSVE2BitPerm, FeatureFullFP16, FeatureFP16FML]; + list X4 = [HasV9

[clang] [llvm] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
@@ -1351,6 +1382,11 @@ def ProcessorFeatures { FeatureFP16FML, FeatureSVE, FeatureTRBE, FeatureSVE2BitPerm, FeatureBF16, FeatureETE, FeaturePerfMon, FeatureMatMulInt8, FeatureSPE

[clang] [llvm] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
@@ -1372,6 +1408,11 @@ def ProcessorFeatures { FeatureSPE, FeatureBF16, FeatureMatMulInt8, FeatureMTE, FeatureSVE2BitPerm, FeatureFullFP16, FeatureFP16FML]; + list X4 = [HasV9

[clang] [llvm] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
@@ -1351,6 +1382,11 @@ def ProcessorFeatures { FeatureFP16FML, FeatureSVE, FeatureTRBE, FeatureSVE2BitPerm, FeatureBF16, FeatureETE, FeaturePerfMon, FeatureMatMulInt8, FeatureSPE

[clang] [llvm] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
@@ -1325,6 +1352,10 @@ def ProcessorFeatures { FeatureMatMulInt8, FeatureBF16, FeatureAM, FeatureMTE, FeatureETE, FeatureSVE2BitPerm, FeatureFP16FML]; + list A520 = [HasV9_2aOps,

[clang] [llvm] [AArch64] Introduce the Armv9.5-A architecture version (PR #72392)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/72392 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (PR #72395)

2023-11-16 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. Thanks for the updates! LGTM. https://github.com/llvm/llvm-project/pull/72395 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [flang] [llvm] [mlir] [clang] [AsmWriter] Ensure getMnemonic doesn't return invalid pointers (PR #75783)

2023-12-18 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/75783 >From 62f4b5daeca0be5b463c5c42271a4b997f084523 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 18 Dec 2023 10:49:25 + Subject: [PATCH] [AsmWriter] Ensure getMnemonic doesn't return invalid pointers

[libcxx] [flang] [llvm] [mlir] [clang] [AsmWriter] Ensure getMnemonic doesn't return invalid pointers (PR #75783)

2023-12-18 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/75783 >From 62f4b5daeca0be5b463c5c42271a4b997f084523 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 18 Dec 2023 10:49:25 + Subject: [PATCH 1/2] [AsmWriter] Ensure getMnemonic doesn't return invalid point

[flang] [clang] [mlir] [clang-tools-extra] [libcxx] [libc] [compiler-rt] [llvm] [AsmWriter] Ensure getMnemonic doesn't return invalid pointers (PR #75783)

2023-12-19 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/75783 >From 62f4b5daeca0be5b463c5c42271a4b997f084523 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 18 Dec 2023 10:49:25 + Subject: [PATCH 1/2] [AsmWriter] Ensure getMnemonic doesn't return invalid point

[llvm] [libc] [clang] [clang-tools-extra] [libcxx] [compiler-rt] [mlir] [flang] [AsmWriter] Ensure getMnemonic doesn't return invalid pointers (PR #75783)

2023-12-20 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/75783 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] Replace usage of StringRef::find_last_of with a string literal of size one by the equivalent char literal (PR #73776)

2023-11-29 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/73776 None >From bff5119a857124f113d9dc499701ad87941fe1c3 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Wed, 15 Nov 2023 10:33:42 + Subject: [PATCH] [AArch64] Assembly support for the Checked Pointer Arithme

[clang] [llvm] Replace usage of StringRef::find_last_of with a string literal of size one by the equivalent char literal (PR #73776)

2023-11-29 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/73776 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Assembly support for the Checked Pointer Arithmetic Extension (PR #73777)

2023-11-29 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/73777 This introduces assembly support for the Checked Pointer Arithmetic Extension (FEAT_CPA), annouced as part of the Armv9.5-A architecture version. The changes include: * New subtarget feature for FEAT_CPA * New

[llvm] [clang] [Abandoned][AArch64] Assembly support for the Checked Pointer Arithmetic Extension (PR #73776)

2023-11-29 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas edited https://github.com/llvm/llvm-project/pull/73776 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Assembly support for the Checked Pointer Arithmetic Extension (PR #73777)

2023-11-30 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/73777 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Assembly support for the Checked Pointer Arithmetic Extension (PR #73777)

2023-11-30 Thread Lucas Duarte Prates via cfe-commits
@@ -4163,3 +4163,24 @@ let Predicates = [HasSVE2orSME2, HasLUT] in { // LUTI4 (two contiguous registers) defm LUTI4_Z2ZZI : sve2_luti4_vector_vg2_index<"luti4">; } // End HasSVE2orSME2, HasLUT + +//===--===/

[clang] [llvm] [AArch64] Support for 9.5-A PAuthLR (PR #75947)

2023-12-21 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. https://github.com/llvm/llvm-project/pull/75947 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Assembly support for the Armv9.5-A Memory System Extensions (PR #76237)

2023-12-22 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/76237 This implements assembly support for the Memory Systems Extensions introduced as part of the Armv9.5-A architecture version. The changes include: * New subtarget feature for FEAT_TLBIW. * New system registers fo

[clang] [llvm] [AArch64] Assembly support for the Armv9.5-A Memory System Extensions (PR #76237)

2023-12-22 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/76237 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][AArch64] Add ACLE macros for FEAT_PAuth_LR (PR #80163)

2024-01-31 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/80163 This updates clang's target defines to include the ACLE changes covering the FEAT_PAuth_LR architecture extension. The changes include: * The new `__ARM_FEATURE_PAUTH_LR` feature macro, which is set to 1 when

[clang] [Clang][AArch64] Add ACLE macros for FEAT_PAuth_LR (PR #80163)

2024-02-01 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/80163 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [ARM] Introduce the v9.5-A architecture version to Arm targets (PR #78994)

2024-01-22 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/78994 This introduces the Armv9.5-A architecture version to the Arm backend, following on from the existing implementation for AArch64 targets. Mode details about the Armv9.5-A architecture version can be found at: *

[llvm] [clang] [ARM] Introduce the v9.5-A architecture version to Arm targets (PR #78994)

2024-01-22 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: No, V9.5-A is v9-only. The v9.4-A version was the last one to have a matching v8.x. https://github.com/llvm/llvm-project/pull/78994 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[llvm] [clang] [ARM] Introduce the v9.5-A architecture version to Arm targets (PR #78994)

2024-01-23 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/78994 >From b3f8e9d1ce4f9a88dc6b57f2862e928a465aecf8 Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 22 Jan 2024 15:13:45 + Subject: [PATCH 1/2] [ARM] Introduce the v9.5-A architecture version to Arm targ

[llvm] [clang] [ARM] Introduce the v9.5-A architecture version to Arm targets (PR #78994)

2024-01-23 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: The ARM Target Parser is behind the AArch64 one in terms of design and refactoring. For the ARM case that relationship is not explicitly encoded in a single place, there are multiple switch-cases covering specific scenarios instead (e.g. the ones updated by this patch in clan

[clang] [llvm] [ARM] Introduce the v9.5-A architecture version to Arm targets (PR #78994)

2024-01-23 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/78994 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [AArch64]: Refactor target parser to use BitVector. (PR #65423)

2023-09-06 Thread Lucas Duarte Prates via cfe-commits
@@ -315,23 +317,23 @@ struct ArchInfo { }; // clang-format off -inline constexpr ArchInfo ARMV8A= { VersionTuple{8, 0}, AProfile, "armv8-a", "+v8a", (AArch64::AEK_FP | AArch64::AEK_SIMD), }; -inline constexpr ArchInfo ARMV8_1A = { VersionTuple{8, 1}, AProfile, "armv8.1-

[clang] [AArch64]: Refactor target parser to use BitVector. (PR #65423)

2023-09-06 Thread Lucas Duarte Prates via cfe-commits
@@ -96,64 +97,65 @@ static_assert(FEAT_MAX <= 64, // Arch extension modifiers for CPUs. These are labelled with their Arm ARM // feature name (though the canonical reference for those is AArch64.td) // clang-format off -enum ArchExtKind : uint64_t { - AEK_NONE =1, - A

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-15 Thread Lucas Duarte Prates via cfe-commits
@@ -19,10 +19,38 @@ #include "llvm/TableGen/Record.h" #include "llvm/TableGen/TableGenBackend.h" #include +#include #include using namespace llvm; +/// Collect the full set of implied features for a SubtargetFeature. +static void CollectImpliedFeatures(std::set &SeenFe

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. Thanks for splitting these! https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[clang] [llvm] [AArch64][TargetParser] move CPUInfo into tablegen [NFC] (PR #92145)

2024-06-17 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/92145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-17 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas edited https://github.com/llvm/llvm-project/pull/95805 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -161,6 +162,39 @@ static int PrintSupportedExtensions(std::string TargetStr) { return 0; } +static int PrintEnabledExtensions(const TargetOptions& TargetOpts) { pratlucas wrote: It's just following the local code style. I'm happy to update all of the `

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -204,6 +238,10 @@ int cc1_main(ArrayRef Argv, const char *Argv0, void *MainAddr) { if (Clang->getFrontendOpts().PrintSupportedExtensions) return PrintSupportedExtensions(Clang->getTargetOpts().Triple); + // --print-enabled-extensions takes priority over the actual c

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -5703,6 +5703,11 @@ def print_supported_extensions : Flag<["-", "--"], "print-supported-extensions"> Visibility<[ClangOption, CC1Option, CLOption]>, HelpText<"Print supported -march extensions (RISC-V, AArch64 and ARM only)">, MarshallingInfoFlag>; +def print_enabled_

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -134,17 +136,39 @@ std::optional AArch64::parseCpu(StringRef Name) { return {}; } -void AArch64::PrintSupportedExtensions(StringMap DescMap) { +void AArch64::PrintSupportedExtensions() { outs() << "All available -march extensions for AArch64\n\n" << "" <

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -114,12 +114,14 @@ using ExtensionBitset = Bitset; // SubtargetFeature which may represent either an actual extension or some // internal LLVM property. struct ExtensionInfo { - StringRef Name; // Human readable name, e.g. "profile". + StringRef UserVisible

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -114,12 +114,14 @@ using ExtensionBitset = Bitset; // SubtargetFeature which may represent either an actual extension or some // internal LLVM property. struct ExtensionInfo { - StringRef Name; // Human readable name, e.g. "profile". + StringRef UserVisible

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -114,12 +114,14 @@ using ExtensionBitset = Bitset; // SubtargetFeature which may represent either an actual extension or some // internal LLVM property. struct ExtensionInfo { - StringRef Name; // Human readable name, e.g. "profile". + StringRef UserVisible

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -116,7 +116,9 @@ const AArch64::ArchInfo *AArch64::parseArch(StringRef Arch) { std::optional AArch64::parseArchExtension(StringRef ArchExt) { for (const auto &A : Extensions) { -if (ArchExt == A.Name || ArchExt == A.Alias) +if (A.UserVisibleName.empty() && !A.Alia

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -140,89 +152,480 @@ def FeatureAES : Extension< // compatibility, and now imply features SHA2 and AES, which was the // "traditional" meaning of Crypto. let FMVDependencies = "+aes,+sha2" in -def FeatureCrypto : Extension<"crypto", "Crypto", +def FeatureCrypto : ExtensionWit

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
@@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-18 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas edited https://github.com/llvm/llvm-project/pull/95805 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-19 Thread Lucas Duarte Prates via cfe-commits
@@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM

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

2024-05-30 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. The changes look good to me. Good catch spotting the inconsistency in the dependency expansion after the extension set is flattened. https://github.com/llvm/llvm-project/pull/93695 ___ cfe-commi

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

2024-05-30 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. 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] [Driver] Add -mbranch-protection to ARM and AArch64 multilib flags (PR #106391)

2024-08-28 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/106391 >From b3d7b528a422f7c44b535c480acbd74f03555b4d Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Wed, 28 Aug 2024 13:58:57 +0100 Subject: [PATCH 1/2] [Driver] Add -mbranch-protection to ARM and AArch64 multil

[clang] [Driver] Add -mbranch-protection to ARM and AArch64 multilib flags (PR #106391)

2024-08-29 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/106391 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-24 Thread Lucas Duarte Prates via cfe-commits
@@ -161,6 +162,39 @@ static int PrintSupportedExtensions(std::string TargetStr) { return 0; } +static int PrintEnabledExtensions(const TargetOptions& TargetOpts) { + std::string Error; + const llvm::Target *TheTarget = + llvm::TargetRegistry::lookupTarget(TargetOpts.

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-24 Thread Lucas Duarte Prates via cfe-commits
@@ -161,6 +162,39 @@ static int PrintSupportedExtensions(std::string TargetStr) { return 0; } +static int PrintEnabledExtensions(const TargetOptions& TargetOpts) { + std::string Error; + const llvm::Target *TheTarget = + llvm::TargetRegistry::lookupTarget(TargetOpts.

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-24 Thread Lucas Duarte Prates via cfe-commits
@@ -1841,7 +1868,8 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML, AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA, - AArch64::AEK_PAUTH, AArch64::AEK_PER

[clang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-24 Thread Lucas Duarte Prates via cfe-commits
@@ -154,17 +156,39 @@ std::optional AArch64::parseCpu(StringRef Name) { return {}; } -void AArch64::PrintSupportedExtensions(StringMap DescMap) { +void AArch64::PrintSupportedExtensions() { outs() << "All available -march extensions for AArch64\n\n" << "" <

[clang] [flang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-26 Thread Lucas Duarte Prates via cfe-commits
@@ -1130,7 +1130,8 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_MTE, AArch64::AEK_SSBS, AArch64::AEK_FP16,AArch64::AEK_FP16FML, AArch64::AEK_SB, AArch64::AEK_JSCVT, - AArch64::AEK_FCMA,

[clang] [flang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-26 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/95805 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] Revert "[AArch64] Add ability to list extensions enabled for a target" (PR #96768)

2024-06-26 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/96768 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-26 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: > Looks like the new tests in `Driver` are missing `// REQUIRES: > aarch64-registered-target` Yes, I'm adding those now. There was also an odd ThreadSanitizer failure in clangd (https://lab.llvm.org/buildbot/#/builders/134/builds/680), which I'm investigating to check if is i

[clang] [flang] [llvm] [AArch64] Add ability to list extensions enabled for a target (PR #95805)

2024-06-26 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: Good catch. I also wasn't able to reproduce it locally. I've created #96795 to re-land the changes with the updated tests. https://github.com/llvm/llvm-project/pull/95805 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://

[clang] [flang] [llvm] Re-land: "[AArch64] Add ability to list extensions enabled for a target" (#95805) (PR #96795)

2024-06-27 Thread Lucas Duarte Prates via cfe-commits
@@ -343,7 +350,9 @@ bool isX18ReservedByDefault(const Triple &TT); // themselves, they are sequential (0, 1, 2, 3, ...). uint64_t getCpuSupportsMask(ArrayRef FeatureStrs); -void PrintSupportedExtensions(StringMap DescMap); +void PrintSupportedExtensions(); + +void printEnabled

[clang] [flang] [llvm] Re-land: "[AArch64] Add ability to list extensions enabled for a target" (#95805) (PR #96795)

2024-06-27 Thread Lucas Duarte Prates via cfe-commits
@@ -21,7 +21,7 @@ // RUN: %clang --target=aarch64 -march=armv8a+fp16fml -### -c %s 2>&1 | FileCheck -check-prefix=GENERICV8A-FP16FML %s pratlucas wrote: The check for target validity doesn't run when using `-###` in the command line. E.g.: ``` $ ../build/bin

[clang] [flang] [llvm] Re-land: "[AArch64] Add ability to list extensions enabled for a target" (#95805) (PR #96795)

2024-06-27 Thread Lucas Duarte Prates via cfe-commits
@@ -315,37 +315,37 @@ // RUN: %clang -target aarch64 -mcpu=thunderx2t99 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-THUNDERX2T99 %s // RUN: %clang -target aarch64 -mcpu=a64fx -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-A64FX %s // RUN: %clang -target aarch64

[clang] [flang] [llvm] Re-land: "[AArch64] Add ability to list extensions enabled for a target" (#95805) (PR #96795)

2024-06-28 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/96795 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-10-07 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/109640 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver] Use empty multilib file in another test (PR #111352)

2024-10-07 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/111352 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-10-04 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/109640 >From 45a02861ec0a8e50a57a733118e037cdd0bbafbc Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 23 Sep 2024 09:25:20 +0100 Subject: [PATCH 1/3] [Clang][Driver] Add option to provide path for multilib's

[clang] Add -mno-unaligned-access and -mbig-endian to ARM and AArch64 multilib flags (PR #114782)

2024-11-04 Thread Lucas Duarte Prates via cfe-commits
@@ -230,6 +230,17 @@ static void getAArch64MultilibFlags(const Driver &D, Result.push_back(BranchProtectionArg->getAsString(Args)); } + const Arg *StrictAlignArg = Args.getLastArgNoClaim( + options::OPT_mstrict_align, options::OPT_mno_unaligned_access); + if (Stri

[clang] Add -mno-unaligned-access and -mbig-endian to ARM and AArch64 multilib flags (PR #114782)

2024-11-04 Thread Lucas Duarte Prates via cfe-commits
@@ -287,6 +298,17 @@ static void getARMMultilibFlags(const Driver &D, if (BranchProtectionArg) { Result.push_back(BranchProtectionArg->getAsString(Args)); } + + const Arg *StrictAlignArg = Args.getLastArgNoClaim( + options::OPT_mstrict_align, options::OPT_mno_unal

[clang] Add -mno-unaligned-access and -mbig-endian to ARM and AArch64 multilib flags (PR #114782)

2024-11-04 Thread Lucas Duarte Prates via cfe-commits
@@ -287,6 +298,17 @@ static void getARMMultilibFlags(const Driver &D, if (BranchProtectionArg) { Result.push_back(BranchProtectionArg->getAsString(Args)); } + + const Arg *StrictAlignArg = Args.getLastArgNoClaim( + options::OPT_mstrict_align, options::OPT_mno_unal

[clang] Add -mno-unaligned-access and -mbig-endian to ARM and AArch64 multilib flags (PR #114782)

2024-11-04 Thread Lucas Duarte Prates via cfe-commits
@@ -230,6 +230,17 @@ static void getAArch64MultilibFlags(const Driver &D, Result.push_back(BranchProtectionArg->getAsString(Args)); } + const Arg *StrictAlignArg = Args.getLastArgNoClaim( + options::OPT_mstrict_align, options::OPT_mno_unaligned_access); + if (Stri

[clang] Add -mno-unaligned-access and -mbig-endian to ARM and AArch64 multilib flags (PR #114782)

2024-11-05 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/114782 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [llvm] [AArch64][Libunwind] Add Support for FEAT_PAuthLR DWARF Instruction (PR #112171)

2024-10-23 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/112171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-09-23 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas created https://github.com/llvm/llvm-project/pull/109640 Since the introduction of the use of a YAML file to configure the selection of multilibs for baremetal, the path for that file has been hardcoded into the clang driver code. This makes it difficult to provide a

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-09-30 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/109640 >From 45a02861ec0a8e50a57a733118e037cdd0bbafbc Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 23 Sep 2024 09:25:20 +0100 Subject: [PATCH 1/2] [Clang][Driver] Add option to provide path for multilib's

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-09-30 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/109640 >From 45a02861ec0a8e50a57a733118e037cdd0bbafbc Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Mon, 23 Sep 2024 09:25:20 +0100 Subject: [PATCH 1/3] [Clang][Driver] Add option to provide path for multilib's

[clang] [Clang][Driver] Add option to provide path for multilib's YAML config file (PR #109640)

2024-09-30 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: > You need to check the command line arg inside `BareMetal::findMultilibs`, as > that function does not call `findMultilibsFromYAML` at all if the default > path does not exist. (This was picked up in CI.) Done. I also had untangle a bit the sysroot computation from the defaul

[clang] [AArch64] Pass -mabi option through to multilib (PR #110874)

2024-10-03 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/110874 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64][v8.7-A] Fix inconsistency in SPE_EEF feature (PR #115296)

2024-11-08 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/115296 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Fix test of `-print-multi-flags-experimental` in case of multilib custom flags (PR #123577)

2025-01-20 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/123577 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-11 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: For context, we're observing this issue as part of our CI builds for the [arm/arm-toolchain](https://github.com/arm/arm-toolchain) project. Looking into it in more detail, I believe I didn't express myself correctly when I wrote "When no darwin targets are included in the buil

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-11 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: > Maybe pass a platform for the failing tests so there is no need for > system-darwin or target for REQUIRES Do you mean by adding a `--target` option to the tests? I think this would also be a valid solution, but I can't tell if this would go against the original intent of t

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-18 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas closed https://github.com/llvm/llvm-project/pull/130138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OffloadBundler] Rework the ctor of `OffloadTargetInfo` to support AMDGPU's generic target (PR #122629)

2025-04-05 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: I see this change re-landed yesterday but we continue to see failures related to the extra `-unknown` component in our downstream testing of [arm/arm-toolchain](https://github.com/arm/arm-toolchain), which are similar to what was described in the comment above: ``` arm-softwar

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-14 Thread Lucas Duarte Prates via cfe-commits
https://github.com/pratlucas updated https://github.com/llvm/llvm-project/pull/130138 >From 38416f49595abf2e36ac017523504fc198c7acdb Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Thu, 6 Mar 2025 16:10:40 + Subject: [PATCH 1/2] [clang] Fix darwin-related tests' REQUIRES annotation The t

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-14 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: > I am ok with the fix but it will be good to update the REQUIRES to cover > MacOSX target as well. I've updated the annotations to cover MacOSX too. https://github.com/llvm/llvm-project/pull/130138 ___ cfe-commits mailing list cfe-c

[clang] [clang] Fix darwin-related tests' REQUIRES annotation (PR #130138)

2025-03-14 Thread Lucas Duarte Prates via cfe-commits
@@ -18,7 +18,7 @@ // RUN: c-index-test -test-load-source local %s -include %t.clang.h -fmodules -fmodules-cache-path=%t.mcp -Xclang -triple -Xclang x86_64-apple-darwin | FileCheck %s // FIXME: Still fails on at least some linux boxen. -// REQUIRES: system-darwin +// REQUIRES

[clang] [llvm] [OffloadBundler] Rework the ctor of `OffloadTargetInfo` to support AMDGPU's generic target (PR #122629)

2025-04-02 Thread Lucas Duarte Prates via cfe-commits
pratlucas wrote: Thanks for picking this up @asb ! Unfortunately I still couldn't find the time to investigate the root cause of the issue in our downstream runs. I'll keep you posted in case we find any more details on this. https://github.com/llvm/llvm-project/pull/122629 ___