diff options
author | Eli Friedman <efriedma@quicinc.com> | 2024-04-26 11:06:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-26 11:06:11 -0700 |
commit | 760910ddb918d77e7632be1678f69909384d69ae (patch) | |
tree | 7c6923e1261ca7a05897ecdb51f74ab1a92cec08 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 3aeb28b93fb740f531bc66a33b1b4ce520663582 (diff) | |
download | llvm-760910ddb918d77e7632be1678f69909384d69ae.zip llvm-760910ddb918d77e7632be1678f69909384d69ae.tar.gz llvm-760910ddb918d77e7632be1678f69909384d69ae.tar.bz2 |
[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.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions