[clang] [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (PR #117752)

2024-12-04 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello closed https://github.com/llvm/llvm-project/pull/117752 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (PR #117752)

2024-12-03 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > Sorry, just spotted an issue: I don't think you're emitting the operations in > the correct order. You need to emit both arguments before you read the > register or load the value. > > If you have some non-trivial operation like a call in one of the arguments, > you don't

[clang] [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (PR #117752)

2024-12-03 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/117752 >From acbd8132ac9d9156abcaac1ab3bb2e1e2e434216 Mon Sep 17 00:00:00 2001 From: Daniel Paoliello Date: Tue, 26 Nov 2024 09:27:54 -0800 Subject: [PATCH] [AArch64] Add support for the __{inc|add}x18{byte|word|dw

[clang] [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (PR #117752)

2024-11-26 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello edited https://github.com/llvm/llvm-project/pull/117752 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [AArch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (PR #117752)

2024-11-26 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/117752 Adds support for the following MSVC intrinsics: * `__addx18byte` * `__addx18word` * `__addx18dword` * `__addx18qword` * `__incx18byte` * `__incx18word` * `__incx18dword` * `__incx18qword` These are documented

[clang] [aarch64][arm] Add support for the _Interlocked[Compare]ExchangePointer_{acq|nf|rel} MS intrinsics (PR #117645)

2024-11-25 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/117645 Adds support for the following MSVC intrinsics: * `_InterlockedCompareExchangePointer_acq` * `_InterlockedCompareExchangePointer_rel` * `_InterlockedExchangePointer_acq` * `_InterlockedExchangePointer_nf` * `_

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-20 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello closed https://github.com/llvm/llvm-project/pull/116847 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
@@ -8719,6 +8719,18 @@ Attribute used by `clspv`_ (OpenCL-C to Vulkan SPIR-V compiler) to identify func }]; } +def NoTrivialAutoVarInitDocs : Documentation { + let Category = DocCatDecl; + let Content = [{ +The ``__declspec(no_init_all)`` attribute disables the automatic i

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/116847 >From d14059d2d7cb529fc0315c2cb1fbe869ebaab58d Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Tue, 19 Nov 2024 09:34:51 -0800 Subject: [PATCH] [clang] Add support for __declspec(no_init_all)

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > I'd still like to have a basic description in documentation for reference, > especially since there isn't any corresponding MSVC compiler documentation. Done https://github.com/llvm/llvm-project/pull/116847 ___ cfe-commits maili

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello edited https://github.com/llvm/llvm-project/pull/116847 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/116847 >From d97c75c91d5b4a8b6c490ce125f3c7cf0f62b234 Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Tue, 19 Nov 2024 09:34:51 -0800 Subject: [PATCH] [clang] Add support for __declspec(no_init_all)

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/116847 >From bacaeb4e7a0653cee26698f47a63fa549ef7a8ce Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Tue, 19 Nov 2024 09:34:51 -0800 Subject: [PATCH] [clang] Add support for __declspec(no_init_all)

[clang] [llvm] [aarch64][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello edited https://github.com/llvm/llvm-project/pull/116707 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [aarch64][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello edited https://github.com/llvm/llvm-project/pull/116707 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [aarch64][clang][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/116707 >From 5cd8b328c83f3c959b443b5548330e17f35a432b Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Mon, 18 Nov 2024 14:46:42 -0800 Subject: [PATCH] [aarch64][clang][llvm] Allow AArch64 TLB mainte

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > If we're going to treat `/d1initall` as an alias for > `-ftrivial-auto-var-init`, can we just treat `__declspec(no_init_all)` as an > alias for `__attribute__((uninitialized))`? `uninitialized` currently only applied to local variable declarations, whereas `__declspec(no_i

[clang] [llvm] [aarch64][clang][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-19 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > Could you give more details about why you would want these added? These instructions are being used in the hand-written assembly for a hypervisor. The hypervisor will check at runtime if the instructions are available on the current CPU before calling this code. https://

[clang] [clang] Add support for `__declspec(no_init_all)` (PR #116847)

2024-11-19 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/116847 In MSVC, when `/d1initall` is enabled, `__declspec(no_init_all)` can be applied to a type to suppress auto-initialization for all instances of that type or to a function to suppress auto-initialization for a

[clang] [llvm] [aarch64][clang][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-18 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > `__ARM_FEATURE_*` defines are, as far as I know, supposed to be defined in > the ACLE. So there needs to be an issue/PR for the ACLE spec. Once Arm > reviews that, we can merge the corresponding patches here. Ah, interesting, any objection to not adding the detection macros

[clang] [llvm] [aarch64][clang][llvm] Allow AArch64 TLB maintenance instructions to be enabled via -march (PR #116707)

2024-11-18 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/116707 Enables `xs` and `tlb-rmi` target features to be enabled via `-march` and adds new target defines for them in Clang. >From 50e4cbc9d15941feecf2cff8fb1e36ecc3b9c6a9 Mon Sep 17 00:00:00 2001 From: "Daniel Paol

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-18 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/112767 >From 20f602b8c28d966a7cc957a3ca4c6ed43e71258e Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Thu, 17 Oct 2024 12:21:25 -0700 Subject: [PATCH 1/3] Fix build break in SemaHLSL.cpp on MSVC 202

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-18 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello closed https://github.com/llvm/llvm-project/pull/112767 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-18 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello edited https://github.com/llvm/llvm-project/pull/112767 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-18 Thread Daniel Paoliello via cfe-commits
@@ -102,6 +102,7 @@ static ResourceClass getResourceClass(RegisterType RT) { return ResourceClass::Sampler; case RegisterType::C: case RegisterType::I: + default: llvm_unreachable("unexpected RegisterType value"); } dpaoliello wrote: > It soun

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-17 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/112767 >From 20f602b8c28d966a7cc957a3ca4c6ed43e71258e Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Thu, 17 Oct 2024 12:21:25 -0700 Subject: [PATCH 1/2] Fix build break in SemaHLSL.cpp on MSVC 202

[clang] Fix build break in SemaHLSL.cpp on MSVC 2022: warning C4715: 'getResourceClass': not all control paths return a value (PR #112767)

2024-10-17 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/112767 Adds a default case to the switch to the existing `llvm_unreachable` statement. Build break was introduced by #111203 It was not caught by the builders as they use Visual Studio 2019, whereas this warning o

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-14 Thread Daniel Paoliello via cfe-commits
dpaoliello wrote: > Need to make sure the autoupgraded string matches the new string, but > otherwise should be fine. (I remember last time we made major changes for > x86, the 128-bit integer alignment change, it was sort of tricky, but the > issue mostly wasn't the layout string itself.) Th

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-14 Thread Daniel Paoliello via cfe-commits
@@ -1,5 +1,6 @@ // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions -emit-llvm -O2 < %s | FileCheck %s --check-prefixes=X64,ALL // RUN: %clang_cc1 -triple i386-pc-win32 -fms-extensions -emit-llvm -O2 < %s | FileCheck %s --check-prefixes=X86,ALL +// RUN: %clang_cc1 -

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-14 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/111879 >From 0f2017d7b9d3a8b0d1eee21f25e22ace58a398cc Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Wed, 9 Oct 2024 16:47:57 -0700 Subject: [PATCH] [clang][aarch64] Add support for the MS qualifie

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-10 Thread Daniel Paoliello via cfe-commits
@@ -32,6 +58,8 @@ class LLVM_LIBRARY_VISIBILITY AArch64TargetInfo : public TargetInfo { SveMode = (1 << 2), }; + enum AddrSpace { ptr32_sptr = 270, ptr32_uptr = 271, ptr64 = 272 }; dpaoliello wrote: Definitely prefer that - this whole thing has **way*

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-10 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/111879 >From ec2b533ef344f58f61fc59fe5a9c55043eef8718 Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Wed, 9 Oct 2024 16:47:57 -0700 Subject: [PATCH] [clang][aarch64] Add support for the MS qualifie

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-10 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello updated https://github.com/llvm/llvm-project/pull/111879 >From 281a05c90b1b7df7e75743012d93efeb484901fd Mon Sep 17 00:00:00 2001 From: "Daniel Paoliello (HE/HIM)" Date: Wed, 9 Oct 2024 16:47:57 -0700 Subject: [PATCH] [clang][aarch64] Add support for the MS qualifie

[clang] [llvm] [clang][aarch64] Add support for the MSVC qualifiers __ptr32, __ptr64, __sptr, __uptr for AArch64 (PR #111879)

2024-10-10 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/111879 MSVC has a set of qualifiers to allow using 32-bit signed/unsigned pointers when building 64-bit targets. This is useful for WoW code (i.e., the part of Windows that handles running 32-bit application on a 6

[clang] [lld] [llvm] [clang][MIPS] Add support for mipsel-windows-* targets (PR #107744)

2024-09-09 Thread Daniel Paoliello via cfe-commits
=?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Poussineau , =?utf-8?q?Hervé?= Po

[clang] [llvm] Add __hlt intrinsic for Windows ARM. (PR #96578)

2024-07-01 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello approved this pull request. https://github.com/llvm/llvm-project/pull/96578 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [MSVC, ARM64] Fix signature for __prefetch (PR #93235)

2024-05-24 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello closed https://github.com/llvm/llvm-project/pull/93235 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [MSVC, ARM64] Fix signature for __prefetch (PR #93235)

2024-05-23 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello created https://github.com/llvm/llvm-project/pull/93235 #67174 added the `__prefetch` intrinsic, however it used the wrong signature: the argument should be `const void*`, not `void*`. Docs: https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=m

[clang] [Arm64EC] Fix compilation of arm_acle.h (PR #91281)

2024-05-06 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello approved this pull request. https://github.com/llvm/llvm-project/pull/91281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [ARM64EC] Add softintrin.lib as an implicit dependency to object files. (PR #89171)

2024-04-18 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello approved this pull request. Did the exact same thing for Rust :) https://github.com/llvm/llvm-project/pull/89171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [ARM64EC] Fix arm_neon.h on ARM64EC. (PR #88572)

2024-04-12 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello approved this pull request. https://github.com/llvm/llvm-project/pull/88572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] Arm64EC entry/exit thunks, consolidated. (PR #79067)

2024-01-22 Thread Daniel Paoliello via cfe-commits
https://github.com/dpaoliello approved this pull request. https://github.com/llvm/llvm-project/pull/79067 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits