[clang] 8229628 - [Clang] Relax DICompileUnit producer check in debug-info-coff.cpp test (NFC)

2025-06-13 Thread Jacek Caban via cfe-commits
Author: Jacek Caban Date: 2025-06-13T23:29:03+02:00 New Revision: 8229628cf1812e126ff72ee9f4b5f267db4c91da URL: https://github.com/llvm/llvm-project/commit/8229628cf1812e126ff72ee9f4b5f267db4c91da DIFF: https://github.com/llvm/llvm-project/commit/8229628cf1812e126ff72ee9f4b5f267db4c91da.diff L

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-13 Thread Jacek Caban via cfe-commits
cjacek wrote: Merged, thanks! https://github.com/llvm/llvm-project/pull/142970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-13 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/142970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-12 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 0e2aaa573e4de05c127c67f8c17ca3715d7b04c2 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH 1/3] [CodeGen][COFF] Always emit CodeView compiler info on Windows t

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-09 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 0e2aaa573e4de05c127c67f8c17ca3715d7b04c2 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH 1/2] [CodeGen][COFF] Always emit CodeView compiler info on Windows t

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-08 Thread Jacek Caban via cfe-commits
cjacek wrote: The new version avoids creating unnecessary labels (and most of `DebugHandlerBase`) by setting `Asm` to null. I also added handling for unknown architecture types in `mapArchToCVCPUType`, which is triggered when running some of the Generic tests on Windows. Additionally, I tweake

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-08 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 0e2aaa573e4de05c127c67f8c17ca3715d7b04c2 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH] [CodeGen][COFF] Always emit CodeView compiler info on Windows targe

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
cjacek wrote: > Hmm, so a "regular" mingw object file would end up having both DWARF (if > building with -g) and codeview (for the compiler info)? Yes. > Does this cause confusion when linking (probably not, as it would either > retain the DWARF or the codeview parts, depending on linker argu

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
@@ -16,7 +16,7 @@ ; argc is the first debug location. ; ASM: .Ldebug_loc1: ; ASM-NEXT: .quad .Lfunc_begin0-.Lfunc_begin0 -; ASM-NEXT: .quad [[argc_range_end]]-.Lfunc_begin0 +; ASM-NEXT: .quad .Ltmp3-.Lfunc_begin0 cjacek wrote: The test emits DWARF debug

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 4b7ecac7f4efcd34bb280c49e8b85b5a36b594c1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH 1/4] [CodeGen][COFF] Always emit CodeView compiler info on Windows t

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
@@ -560,11 +560,12 @@ bool AsmPrinter::doInitialization(Module &M) { } if (MAI->doesSupportDebugInformation()) { -bool EmitCodeView = M.getCodeViewFlag(); -if (EmitCodeView && -(TM.getTargetTriple().isOSWindows() || TM.getTargetTriple().isUEFI())) +// O

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 4b7ecac7f4efcd34bb280c49e8b85b5a36b594c1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH 1/2] [CodeGen][COFF] Always emit CodeView compiler info on Windows t

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
@@ -560,11 +560,12 @@ bool AsmPrinter::doInitialization(Module &M) { } if (MAI->doesSupportDebugInformation()) { -bool EmitCodeView = M.getCodeViewFlag(); -if (EmitCodeView && -(TM.getTargetTriple().isOSWindows() || TM.getTargetTriple().isUEFI())) +// O

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
@@ -613,19 +613,30 @@ static SourceLanguage MapDWLangToCVLang(unsigned DWLang) { void CodeViewDebug::beginModule(Module *M) { // If module doesn't have named metadata anchors or COFF debug section // is not available, skip any debug info related stuff. - if (!Asm->hasDebug

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
@@ -560,11 +560,12 @@ bool AsmPrinter::doInitialization(Module &M) { } if (MAI->doesSupportDebugInformation()) { -bool EmitCodeView = M.getCodeViewFlag(); -if (EmitCodeView && -(TM.getTargetTriple().isOSWindows() || TM.getTargetTriple().isUEFI())) +// O

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 4b7ecac7f4efcd34bb280c49e8b85b5a36b594c1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH 1/3] [CodeGen][COFF] Always emit CodeView compiler info on Windows t

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
cjacek wrote: The new version always emits `S_OBJNAME` and `S_COMPILE3` on Windows targets, regardless of debug info settings. It no longer depends on #142969. On the Clang side, it emits only minimal compiler info in IR when full debug info is not enabled. I wasn't sure whether to enable thi

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek edited https://github.com/llvm/llvm-project/pull/142970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info on Windows targets (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek edited https://github.com/llvm/llvm-project/pull/142970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info when hotpatch option is enabled (PR #142970)

2025-06-06 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/142970 >From 4b7ecac7f4efcd34bb280c49e8b85b5a36b594c1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 15:58:59 +0200 Subject: [PATCH] [CodeGen][COFF] Always emit CodeView compiler info on Windows targe

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info when hotpatch option is enabled (PR #142970)

2025-06-05 Thread Jacek Caban via cfe-commits
cjacek wrote: I think we could emit this unconditionally, but I wasn’t entirely sure, so I went with a less invasive change for now. I'll prepare a new version. In this version, Clang emits a full debug IR, but if we're going to do this by default, it probably makes more sense to emit just a m

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info when hotpatch option is enabled (PR #142970)

2025-06-05 Thread Jacek Caban via cfe-commits
cjacek wrote: Depends on #142969. https://github.com/llvm/llvm-project/pull/142970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [CodeGen][COFF] Always emit CodeView compiler info when hotpatch option is enabled (PR #142970)

2025-06-05 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/142970 MSVC always emits minimal CodeView metadata containing compiler information, even when debug info is otherwise disabled. While this data is typically not meaningful on its own, the linker may use it to detect w

[clang] [llvm] [CodeGen][clang] Use module metadata to mark hotpatchable modules (PR #142969)

2025-06-05 Thread Jacek Caban via cfe-commits
cjacek wrote: The main motivation is to enable writing llc-based tests for the emitted CodeView data https://github.com/llvm/llvm-project/pull/142969 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[clang] [llvm] [CodeGen][clang] Use module metadata to mark hotpatchable modules (PR #142969)

2025-06-05 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/142969 None >From 108b56e9d0fbd522d3ee458405dab43a01b5ebd5 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 4 Jun 2025 13:13:06 +0200 Subject: [PATCH] [CodeGen][clang] Use module metadata to mark hotpatchable mod

[libunwind] [libunwind] Add initial ARM64EC support (PR #138583)

2025-05-13 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/138583 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] Add initial ARM64EC support (PR #138583)

2025-05-07 Thread Jacek Caban via cfe-commits
@@ -1181,7 +1228,9 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext) #endif +#ifndef __arm64ec__ cjacek wrote: That's because the alias is more complex, it needs to account for mangled symbol names and requires an additional unmangled weak anti-dependency. Id

[libunwind] [libunwind] Add initial ARM64EC support (PR #138583)

2025-05-07 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/138583 >From c6c8a12bf33127ba325b526b70eff6fef7e7ee00 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 3 May 2025 00:24:35 +0200 Subject: [PATCH 1/2] [libunwind] Add initial ARM64EC support ARM64EC defines __x86_6

[libunwind] [libunwind] Add initial ARM64EC support (PR #138583)

2025-05-05 Thread Jacek Caban via cfe-commits
cjacek wrote: This is enough to pass most tests, except for forced unwind. I suspect that test requires a similar change to #137949. ARM64EC modules can contain SEH in both x86_64 format (for x86_64 code, accessible through PE headers, this should already work) and ARM format (for ARM64 code,

[libunwind] [libunwind] Add initial ARM64EC support (PR #138583)

2025-05-05 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/138583 ARM64EC defines `__x86_64__`, which is sufficient to make most C/C++ code behave correctly. To preserve an external ABI compatible with x86_64, this patch uses the x86_64 context layout and implements `unw_getco

[libunwind] [libunwind] [SEH] Set NonVolatileRegisters before calling a personality function (PR #137951)

2025-05-04 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. Looks reasonable to me overall. https://github.com/llvm/llvm-project/pull/137951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] [SEH] Set NonVolatileRegisters before calling a personality function (PR #137951)

2025-05-04 Thread Jacek Caban via cfe-commits
@@ -212,6 +238,21 @@ __libunwind_seh_personality(int version, _Unwind_Action state, ms_exc.ExceptionInformation[2] = state; DISPATCHER_CONTEXT *disp_ctx = __unw_seh_get_disp_ctx((unw_cursor_t *)context); +#if defined(__aarch64__) + LOCAL_DISPATCHER_CONTEXT_NONVOLREG

[libunwind] [libunwind] [SEH] Set NonVolatileRegisters before calling a personality function (PR #137951)

2025-05-04 Thread Jacek Caban via cfe-commits
https://github.com/cjacek edited https://github.com/llvm/llvm-project/pull/137951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] [SEH] Implement parsing of ARM pdata/xdata (PR #137950)

2025-05-04 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/137950 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] [SEH] Implement parsing of ARM pdata/xdata (PR #137950)

2025-05-02 Thread Jacek Caban via cfe-commits
Martin =?utf-8?q?Storsjö?= Message-ID: In-Reply-To: @@ -2064,6 +2077,51 @@ bool UnwindCursor::getInfoFromSEH(pint_t pc) { } } } +#elif defined(_LIBUNWIND_TARGET_ARM) cjacek wrote: Given how similar the code is to the aarch64 version, it's a bit

[libunwind] [libunwind] [SEH] Implement parsing of aarch64 pdata/xdata (PR #137949)

2025-05-02 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/137949 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] [SEH] Set NonVolatileRegisters before calling a personality function (PR #137951)

2025-05-02 Thread Jacek Caban via cfe-commits
@@ -212,6 +212,11 @@ __libunwind_seh_personality(int version, _Unwind_Action state, ms_exc.ExceptionInformation[2] = state; DISPATCHER_CONTEXT *disp_ctx = __unw_seh_get_disp_ctx((unw_cursor_t *)context); +#if defined(__aarch64__) + disp_ctx->NonVolatileRegisters = (

[libunwind] [libunwind] [SEH] Set NonVolatileRegisters before calling a personality function (PR #137951)

2025-05-01 Thread Jacek Caban via cfe-commits
@@ -212,6 +212,11 @@ __libunwind_seh_personality(int version, _Unwind_Action state, ms_exc.ExceptionInformation[2] = state; DISPATCHER_CONTEXT *disp_ctx = __unw_seh_get_disp_ctx((unw_cursor_t *)context); +#if defined(__aarch64__) + disp_ctx->NonVolatileRegisters = (

[libunwind] [libunwind] [SEH] Implement parsing of aarch64 pdata/xdata (PR #137949)

2025-05-01 Thread Jacek Caban via cfe-commits
@@ -2018,6 +2018,52 @@ bool UnwindCursor::getInfoFromSEH(pint_t pc) { _info.handler = 0; } } +#elif defined(_LIBUNWIND_TARGET_AARCH64) + if (unwindEntry->Flag != 0) { // Packed unwind info +_info.end_ip = _info.start_ip + unwindEntry->FunctionLength * 4; +/

[clang] [lld] [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (PR #116512)

2024-11-18 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/116512 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lld] [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (PR #116512)

2024-11-16 Thread Jacek Caban via cfe-commits
cjacek wrote: GCC offers the `ms_hook_prologue` function attribute as an alternative. It provides similar guarantees: it inserts a hardcoded prologue and adds padding. However, it applies on a per-function basis, so there isn’t an easy way to make the entire module hotpatchable. In GCC, the pa

[clang] [lld] [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (PR #116512)

2024-11-16 Thread Jacek Caban via cfe-commits
cjacek wrote: This PR depends on #116511. It updates `-fms-hotpatch` to behave similarly during linking as it does in MSVC mode. However, one limitation remains: object files are marked as hotpatchable through CodeView data, so this is only effective when `-gcodeview` is enabled. This is simi

[clang] [lld] [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (PR #116512)

2024-11-16 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/116512 None >From c13f631c8074c85242fd1f639fd09aae78fede6a Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 16 Nov 2024 14:16:58 +0100 Subject: [PATCH 1/2] [LLD][MinGW] Add support for --functionpadmin option Thi

[clang] [clang] [NFC] Split checkAttributesAfterMerging() to multiple functions (PR #115464)

2024-11-12 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. https://github.com/llvm/llvm-project/pull/115464 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-27 Thread Jacek Caban via cfe-commits
cjacek wrote: /cherry-pick ea98dc8b8f508b8393651992830e5e51d3876728 https://github.com/llvm/llvm-project/pull/99478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-27 Thread Jacek Caban via cfe-commits
https://github.com/cjacek milestoned https://github.com/llvm/llvm-project/pull/99478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-27 Thread Jacek Caban via cfe-commits
cjacek wrote: Thanks. I created #100872 for dllexport fix. https://github.com/llvm/llvm-project/pull/99478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-27 Thread Jacek Caban via cfe-commits
cjacek wrote: /cherry-pick ea98dc8b8f508b8393651992830e5e51d3876728 https://github.com/llvm/llvm-project/pull/99478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-27 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/99478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-19 Thread Jacek Caban via cfe-commits
@@ -6886,6 +6886,13 @@ static void checkAttributesAfterMerging(Sema &S, NamedDecl &ND) { } } + if (HybridPatchableAttr *Attr = ND.getAttr()) { +if (!ND.isExternallyVisible()) { + S.Diag(Attr->getLocation(), + diag::warn_attribute_hybrid_patchable_n

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-19 Thread Jacek Caban via cfe-commits
@@ -4027,6 +4030,12 @@ def SelectAny : InheritableAttr { let SimpleHandler = 1; } +def HybridPatchable : DeclOrTypeAttr, TargetSpecificAttr { cjacek wrote: Right, I don't remember why I did it like that. I changed it in the new version. https://github.com/

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-19 Thread Jacek Caban via cfe-commits
@@ -477,6 +477,9 @@ def TargetELF : TargetSpec { def TargetELFOrMachO : TargetSpec { let ObjectFormats = ["ELF", "MachO"]; } +def TargetArm64EC : TargetSpec { cjacek wrote: I renamed it to `TargetWindowsArm64EC` in the new version. https://github.com/llvm/l

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-19 Thread Jacek Caban via cfe-commits
@@ -4027,6 +4030,12 @@ def SelectAny : InheritableAttr { let SimpleHandler = 1; } +def HybridPatchable : DeclOrTypeAttr, TargetSpecificAttr { + let Spellings = [Declspec<"hybrid_patchable">, GCC<"hybrid_patchable">]; cjacek wrote: Yes, I was thinking mostl

[clang] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-19 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/99478 >From 31584aa0b95dd88df8518bf334fb3e24086b1bdb Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 3 May 2024 00:27:20 +0200 Subject: [PATCH] [clang][ARM64EC] Add support for hybrid_patchable attribute. --- cl

[clang] [llvm] [clang][ARM64EC] Add support for hybrid_patchable attribute. (PR #99478)

2024-07-18 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/99478 This adds support for `hybrid_patchable` on top of LLVM part from #92965 (so it depends on #92965 and this PR is meant only for the second commit). For the most part, it just adds LLVM attribute whenever C/C++ at

[clang] [clang] Disable C++14 sized deallocation by default for MinGW targets (PR #97232)

2024-07-01 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. https://github.com/llvm/llvm-project/pull/97232 ___ 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 Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. LGTM (and CI failure doesn't seem related) 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

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

2024-04-15 Thread Jacek Caban via cfe-commits
https://github.com/cjacek 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

[clang] [ARM64EC] Fix compilation of intrin.h in ARM64EC mode. (PR #87717)

2024-04-08 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. > (If we actually need some of these intrinsics in ARM64EC mode, we can > revisit later.) FWIW, most of them are provided by MSVC/Windows SDK via `softintrin.h` (included from `intrin.h`) as functions, not actual intrisics. https://github

[clang] [ARM64EC] Add support for parsing __vectorcall (PR #87725)

2024-04-08 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. https://github.com/llvm/llvm-project/pull/87725 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Fix ARM64EC clang-cl linker driver tests. (PR #87160)

2024-03-30 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/87160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Fix ARM64EC clang-cl linker driver tests. (PR #87160)

2024-03-30 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/87160 Add '--' argument to clang-cl to avoid interpreting input files with /U option. Fix for llvm-clang-aarch64-darwin buildbot failure after #86835. >From 2808ce015e4d025164c635d75795c714babe4f05 Mon Sep 17 00:00:00

[clang] [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (PR #86835)

2024-03-30 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/86835 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (PR #86835)

2024-03-28 Thread Jacek Caban via cfe-commits
cjacek wrote: Sounds good to me, the new version uses `-marm64x` flag instead. Thanks. https://github.com/llvm/llvm-project/pull/86835 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (PR #86835)

2024-03-28 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/86835 >From 7a4a69076b2172e50ce305f97e0f97f67d00aa32 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 28 Mar 2024 14:58:48 +0100 Subject: [PATCH] [clang][Driver] Pass -machine argument to the linker explicitly for

[clang] [llvm] [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (PR #86835)

2024-03-27 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/86835 Currently, Clang doesn't explicitly pass the `-machine` argument to the linker, relying on the linker to infer it from the input. However, MSVC's link.exe requires `-machine` to be specified explicitly for ARM64E

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-27 Thread Jacek Caban via cfe-commits
cjacek wrote: Thanks. I pushed without tests. https://github.com/llvm/llvm-project/pull/82888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-27 Thread Jacek Caban via cfe-commits
https://github.com/cjacek closed https://github.com/llvm/llvm-project/pull/82888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-27 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/82888 >From 24c0fae7f777daa235ba435e1ae3479d26da526b Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 24 Feb 2024 01:16:45 +0100 Subject: [PATCH] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host tripl

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-26 Thread Jacek Caban via cfe-commits
cjacek wrote: I added documentation and rebased, thanks. https://github.com/llvm/llvm-project/pull/82888 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-26 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/82888 >From 8ea9b943089de8a6c3f3a5161a4e89eab4975c2a Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 24 Feb 2024 01:16:45 +0100 Subject: [PATCH] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host tripl

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-26 Thread Jacek Caban via cfe-commits
https://github.com/cjacek updated https://github.com/llvm/llvm-project/pull/82888 >From 3f23b5ed11ef7453c64da562ad47701cc77ee3e0 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 24 Feb 2024 01:16:45 +0100 Subject: [PATCH 1/2] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host t

[clang] [llvm] [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (PR #82888)

2024-02-24 Thread Jacek Caban via cfe-commits
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/82888 As suggested by @gbreynoo in #82642. >From 3f23b5ed11ef7453c64da562ad47701cc77ee3e0 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 24 Feb 2024 01:16:45 +0100 Subject: [PATCH] [llvm-ar][Archive] Use getDefa

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

2024-01-24 Thread Jacek Caban via cfe-commits
cjacek wrote: Thanks! FWIW, I tested and reviewed the new version and it works and looks good to me. https://github.com/llvm/llvm-project/pull/79067 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[clang] [clang] [MinGW] Don't look for a GCC in path if the install base has a proper mingw sysroot (PR #76949)

2024-01-05 Thread Jacek Caban via cfe-commits
https://github.com/cjacek approved this pull request. https://github.com/llvm/llvm-project/pull/76949 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] [MinGW] Don't look for a GCC in path if the install base has a proper mingw sysroot (PR #76949)

2024-01-05 Thread Jacek Caban via cfe-commits
cjacek wrote: > Although, on a second thought, it might actually still be good to adjust it > in sync. If we're invoking Clang with `-m32` and deciding on whether to use > i386/i586/i686, and we end up using the install base as sysroot, without > inferring any triple from there, we shouldn't g

[clang] [clang] [MinGW] Don't look for a GCC in path if the install base has a proper mingw sysroot (PR #76949)

2024-01-04 Thread Jacek Caban via cfe-commits
cjacek wrote: Looks mostly good to me, but I wonder if we should change testTriple as well. https://github.com/llvm/llvm-project/pull/76949 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[clang] [Clang][AArch64] Define x86_64 macros for ARM64EC targets (PR #65420)

2023-09-10 Thread Jacek Caban via cfe-commits
cjacek wrote: LGTM https://github.com/llvm/llvm-project/pull/65420 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits