[all-commits] [llvm/llvm-project] 760910: [Arm64EC] Improve alignment mangling in arm64ec th...
Eli Friedman via All-commits
all-commits at lists.llvm.org
Fri Apr 26 11:06:33 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 760910ddb918d77e7632be1678f69909384d69ae
https://github.com/llvm/llvm-project/commit/760910ddb918d77e7632be1678f69909384d69ae
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
Log Message:
-----------
[Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115)
In some cases, MSVC's mangling for arm64ec thunks includes the alignment
of a struct. I added some code to try to match... but it never really
worked right. The issues:
- Alignment is only mangled if it's 16 or more (I guess the default is
supposed to be 8).
- Alignment isn't mangled on return values (since the memory is
allocated by the caller).
The current patch leaves hooks to make alignment mangling work... but
doesn't actually ever mangle alignment: clang never actually encodes a
relevant alignment into the IR. Once we get clang to emit the real
size/alignment of structs, we can start emitting it.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list