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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
@@ -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
@@ -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
@@ -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/
@@ -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
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
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
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
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
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
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
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
@@ -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
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
@@ -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;
+/
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
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,
@@ -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 = (
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
@@ -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 = (
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
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
@@ -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
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
53 matches
Mail list logo