[all-commits] [llvm/llvm-project] fed8e3: [LLD][COFF] Add support for ARM64EC entry thunks. ...
Jacek Caban via All-commits
all-commits at lists.llvm.org
Tue Jun 18 02:14:22 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fed8e38c195af5b4806b1088c3ef4d772c0ff450
https://github.com/llvm/llvm-project/commit/fed8e38c195af5b4806b1088c3ef4d772c0ff450
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-06-18 (Tue, 18 Jun 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Driver.cpp
M lld/COFF/ICF.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MarkLive.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64ec-entry-thunk.s
A lld/test/COFF/arm64ec-hybmp.s
M llvm/include/llvm/BinaryFormat/COFF.h
Log Message:
-----------
[LLD][COFF] Add support for ARM64EC entry thunks. (#88132)
For x86_64 callable functions, ARM64EC requires an entry thunk generated
by the compiler. The linker interprets .hybmp sections to associate
function chunks with their entry points and writes an offset to thunks
preceding function section contents.
Additionally, ICF needs to be aware of entry thunks to not consider
chunks to be equal when they have different entry thunks, and GC needs
to mark entry thunks together with function chunks.
I used a new SectionChunkEC class instead of storing entry thunks in
SectionChunk, following the guideline to keep SectionChunk as compact as
possible. This way, there is no memory usage increase on non-EC targets.
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