[clang] 16a4350 - [MSP430] Actualize the toolchain description

2020-07-17 Thread Anatoly Trosinenko via cfe-commits
Author: Anatoly Trosinenko Date: 2020-07-17T15:42:12+03:00 New Revision: 16a4350f76d2bead7af32617dd557d2ec096d2c5 URL: https://github.com/llvm/llvm-project/commit/16a4350f76d2bead7af32617dd557d2ec096d2c5 DIFF: https://github.com/llvm/llvm-project/commit/16a4350f76d2bead7af32617dd557d2ec096d2c5.

[clang] 67422e4 - [MSP430] Align the _Complex ABI with current msp430-gcc

2020-07-09 Thread Anatoly Trosinenko via cfe-commits
Author: Anatoly Trosinenko Date: 2020-07-09T18:28:48+03:00 New Revision: 67422e4294754e08f277b1ba22820487eb76b918 URL: https://github.com/llvm/llvm-project/commit/67422e4294754e08f277b1ba22820487eb76b918 DIFF: https://github.com/llvm/llvm-project/commit/67422e4294754e08f277b1ba22820487eb76b918.

[clang] 5a07490 - [ABI][NFC] Fix the confusion of ByVal and ByRef argument names

2020-08-06 Thread Anatoly Trosinenko via cfe-commits
Author: Anatoly Trosinenko Date: 2020-08-06T15:20:18+03:00 New Revision: 5a07490d7611088277dca4c1c06c2002403b7039 URL: https://github.com/llvm/llvm-project/commit/5a07490d7611088277dca4c1c06c2002403b7039 DIFF: https://github.com/llvm/llvm-project/commit/5a07490d7611088277dca4c1c06c2002403b7039.

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-31 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko edited https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-01-31 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko edited https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-01-31 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Ping. A few notes: * not setting `__ARM_FEATURE_PAUTH` in `getTargetDefinesARMV83A()` anymore (and thus relying on conditionally setting it in `getTargetDefines()`) makes the existing tests check that `HasPAuth` is set if v8.3+ architecture extension is requested * in the P

[llvm] [clang] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-02-01 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: @DavidSpickett Thank you for the comments! I will rebase the branch as-is to a recent version of `main` to retest it before merging. https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm

[llvm] [clang] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-02-01 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/78027 >From c2ab29bf1c01653e3e90248dda3c86dd973be6ec Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Thu, 18 Jan 2024 19:54:04 +0300 Subject: [PATCH 1/2] [AArch64] Make Armv8.3-a extension set +pauth by def

[clang] [llvm] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-02-01 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko closed https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Make +pauth enabled in Armv8.3-a by default (PR #78027)

2024-02-01 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Merged despite buildkite failure as its "Linux x64" job succeeded and "Windows x64" failed with an unrelated error :) ``` mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "tools\mlir\unittests\ExecutionEngine\MLIRExecutionEngineT

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-24 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko created https://github.com/llvm/llvm-project/pull/79311 Core LLVM has AArch64TargetParser.h header describing the mapping from Armv8.x and Armv9.x architecture extensions to the particular list of features that are mandatory for the extension. Clang partially re

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/79311 >From e0d278d9fcdd01f574bbf5fa1bcbbaf7875525de Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Tue, 23 Jan 2024 12:40:00 +0300 Subject: [PATCH 1/2] [AArch64] Simplify Clang's description of architectu

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/79311 >From e0d278d9fcdd01f574bbf5fa1bcbbaf7875525de Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Tue, 23 Jan 2024 12:40:00 +0300 Subject: [PATCH 1/3] [AArch64] Simplify Clang's description of architectu

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: I tried adding a few more lines to `clang/test/Preprocessor/aarch64-target-features.c` and turned out, clang accepts `-march=armv8-a+jscvt` but not `-march=armv8-a+dpb`. Brief debugging suggests this is because in the ```cpp {"dpb", AArch64::AEK_NONE, {}, {}, FEAT_DPB, "+c

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
@@ -741,7 +722,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector &Features, if (Feature == "+neon" || Feature == "+fp-armv8") FPU |= NeonMode; -if (Feature == "+jscvt") { +if (Feature == "+jsconv") { atrosinenko wrote: Agree, ad

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
@@ -860,7 +841,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector &Features, } if (Feature == "+dit") HasDIT = true; -if (Feature == "+cccp") +if (Feature == "+ccpp") atrosinenko wrote: Agree, but not yet sure how it is better

[clang] [AArch64] Simplify Clang's description of architecture extensions (PR #79311)

2024-01-25 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Meanwhile, which is current policy on enabling/disabling mandatory features via command line options? https://github.com/llvm/llvm-project/pull/79311 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[clang] [llvm] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-13 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko created https://github.com/llvm/llvm-project/pull/78027 Add AEK_PAUTH to ARMV8_3A in TargetParser and let it propagate to ARMV8R, as it aligns with GCC defaults. After adding AEK_PAUTH, several tests from TargetParserTest.cpp crashed when trying to format an err

[clang] [llvm] [AArch64] Use parseArchExtension function. NFC (PR #78158)

2024-01-15 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko created https://github.com/llvm/llvm-project/pull/78158 None >From 2c4ebf05d3d85cb9541cefc446f3a85abc64ec22 Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Sat, 13 Jan 2024 12:14:46 +0300 Subject: [PATCH] [AArch64] Use parseArchExtension function. NFC --

[llvm] [clang] [AArch64] Use parseArchExtension function. NFC (PR #78158)

2024-01-17 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko closed https://github.com/llvm/llvm-project/pull/78158 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-18 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: No-change rebase to fix merge conflicts. https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-18 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/78027 >From c960dacbdb58efbf2a2ef30eb4d0a9a640ce1071 Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Thu, 21 Dec 2023 19:34:12 +0300 Subject: [PATCH] [AArch64] Make Armv8.3-a extension set +pauth by default

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-18 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Sorry, force-pushing the rebased branch associated with the PR was a bad idea... Restored the original commit for now. https://github.com/llvm/llvm-project/pull/78027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[clang] [llvm] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-22 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/78027 >From 304b5e7834ff071822fbd4e85eb4655d220d4e49 Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Thu, 18 Jan 2024 19:54:04 +0300 Subject: [PATCH] [AArch64] Make Armv8.3-a extension set +pauth by default

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-22 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: No-change rebase to fix the merge conflict. This time shown as a single commit, as expected. I do understand that LLVM review policy suggests to only rebase right before "squash and merge", but there are no comments yet and the conflict is almost as large as the patch itself

[llvm] [clang] [AArch64] Make Armv8.3-a extension set +pauth by default (PR #78027)

2024-01-22 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/78027 >From 304b5e7834ff071822fbd4e85eb4655d220d4e49 Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Thu, 18 Jan 2024 19:54:04 +0300 Subject: [PATCH 1/2] [AArch64] Make Armv8.3-a extension set +pauth by def

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: As already mentioned by @DavidSpickett , part of `PointerAuthentication.rst` file disappeared, thus some links are dangling now. https://github.com/llvm/llvm-project/pull/65996 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Meanwhile, isn't the C++ standard use the term "safely-derived pointer", too? https://github.com/llvm/llvm-project/pull/65996 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,265 @@ +Pointer Authentication +== + +.. contents:: + :local: + +Introduction + + +Pointer authentication is a technology which offers strong probabilistic protection against exploiting a broad class of memory bugs to take control of

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,265 @@ +Pointer Authentication +== + +.. contents:: + :local: + +Introduction + + +Pointer authentication is a technology which offers strong probabilistic protection against exploiting a broad class of memory bugs to take control of

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -6973,6 +6973,11 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // -fno-common is the default, set -fcommon only when that flag is set. Args.addOptInFlag(CmdArgs, options::OPT_fcommon, options::OPT_fno_common); + if (Args.hasFlag(options::OPT_fptraut

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -4869,6 +4869,73 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, case Builtin::BI__iso_volatile_store64: return RValue::get(EmitISOVolatileStore(*this, E)); + case Builtin::BI__builtin_ptrauth_auth: + case Builtin::BI__builtin_pt

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,265 @@ +Pointer Authentication +== + +.. contents:: + :local: + +Introduction + + +Pointer authentication is a technology which offers strong probabilistic protection against exploiting a broad class of memory bugs to take control of

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,167 @@ +/*=== ptrauth.h - Pointer authentication ---=== + * + * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + * See https://llvm.org/LICENSE.txt for license information. + * SPDX-License-Identifier: Apac

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,167 @@ +/*=== ptrauth.h - Pointer authentication ---=== + * + * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + * See https://llvm.org/LICENSE.txt for license information. + * SPDX-License-Identifier: Apac

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -0,0 +1,265 @@ +Pointer Authentication +== + +.. contents:: + :local: + +Introduction + + +Pointer authentication is a technology which offers strong probabilistic protection against exploiting a broad class of memory bugs to take control of

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-20 Thread Anatoly Trosinenko via cfe-commits
@@ -1908,6 +1908,176 @@ static bool SemaOpenCLBuiltinToAddr(Sema &S, unsigned BuiltinID, return false; } +namespace { + enum PointerAuthOpKind { +PAO_Strip, PAO_Sign, PAO_Auth, PAO_SignGeneric, PAO_Discriminator, +PAO_BlendPointer, PAO_BlendInteger + }; +} + +stat

[clang] [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (PR #65996)

2023-09-21 Thread Anatoly Trosinenko via cfe-commits
@@ -4869,6 +4869,73 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, case Builtin::BI__iso_volatile_store64: return RValue::get(EmitISOVolatileStore(*this, E)); + case Builtin::BI__builtin_ptrauth_auth: + case Builtin::BI__builtin_pt

[clang] [PAC] Implement function pointer re-signing (PR #98847)

2024-07-15 Thread Anatoly Trosinenko via cfe-commits
@@ -165,6 +166,88 @@ CGPointerAuthInfo CodeGenModule::getPointerAuthInfoForType(QualType T) { return ::getPointerAuthInfoForType(*this, T); } +static bool isZeroConstant(llvm::Value *value) { + if (auto ci = dyn_cast(value)) +return ci->isZero(); + return false; +} +

[clang] [PAC] Implement function pointer re-signing (PR #98847)

2024-07-15 Thread Anatoly Trosinenko via cfe-commits
@@ -165,6 +166,88 @@ CGPointerAuthInfo CodeGenModule::getPointerAuthInfoForType(QualType T) { return ::getPointerAuthInfoForType(*this, T); } +static bool isZeroConstant(llvm::Value *value) { atrosinenko wrote: The existing code in `CGPointerAuth.cpp` seem

[clang] [PAC] Implement function pointer re-signing (PR #98847)

2024-07-15 Thread Anatoly Trosinenko via cfe-commits
@@ -192,14 +215,18 @@ class Address { /// Return the IR name of the pointer value. llvm::StringRef getName() const { return Pointer.getPointer()->getName(); } + const CGPointerAuthInfo &getPointerAuthInfo() const { return PtrAuthInfo; } + void setPointerAuthInfo(const CG

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-16 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko created https://github.com/llvm/llvm-project/pull/140277 Move the initialization of ptrauth-* function attributes near the initialization of branch protection attributes. The semantics of these groups of attributes partially overlaps, so initialize them both in

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-16 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: It seems that when I rebased this PR from an older version of `main` branch, some test failures came up. I'm investigating these now. An example is [clang/test/CodeGen/ptrauth-function-lvalue-cast.c](https://github.com/llvm/llvm-project/blob/00c5cd8a7a3f7e363d8f0d172ea88af916

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-17 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko updated https://github.com/llvm/llvm-project/pull/140277 >From 71d852614cecab901709977b4a5f134145c2ac62 Mon Sep 17 00:00:00 2001 From: Anatoly Trosinenko Date: Fri, 16 May 2025 16:32:42 +0300 Subject: [PATCH 1/2] [clang][AArch64] Move initialization of ptrauth-*

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-17 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko ready_for_review https://github.com/llvm/llvm-project/pull/140277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-17 Thread Anatoly Trosinenko via cfe-commits
atrosinenko wrote: Fixed the tests in 85c21ecb922826ae8fabb4bc0c518933f19e0634: * do not add attributes on the call site (something was probably wrong with the way I was running the tests, as this should fail before the rebase as well...) * added `setPointerAuthFnAttributes` as a counterpart of

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-20 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko closed https://github.com/llvm/llvm-project/pull/140277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AArch64] Move initialization of ptrauth-* function attrs (PR #140277)

2025-05-20 Thread Anatoly Trosinenko via cfe-commits
https://github.com/atrosinenko edited https://github.com/llvm/llvm-project/pull/140277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits