[all-commits] [llvm/llvm-project] a876d0: [JITLink] Add support for moving blocks and symbol...
lhames via All-commits
all-commits at lists.llvm.org
Tue Jul 20 16:12:54 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a876d09bc7fbb16ef38d50ce84059e50d6829f23
https://github.com/llvm/llvm-project/commit/a876d09bc7fbb16ef38d50ce84059e50d6829f23
Author: Lang Hames <lhames at gmail.com>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Log Message:
-----------
[JITLink] Add support for moving blocks and symbols between sections.
LinkGraph::transferBlock can be used to move a block and all associated symbols
from one section to another.
LinkGraph::mergeSections moves all blocks and sections from a source section to
a destination section.
Commit: ca4a9386170e656b22773b09f240d26f49a8877c
https://github.com/llvm/llvm-project/commit/ca4a9386170e656b22773b09f240d26f49a8877c
Author: Lang Hames <lhames at gmail.com>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
A llvm/test/ExecutionEngine/JITLink/X86/MachO_thread_bss.s
Log Message:
-----------
[JITLink][MachO] Detect MachO::S_THREAD_LOCAL_ZEROFILL sections as zero-fill.
This will be used in upcoming MachO native TLV support patches to LLVM and
the ORC runtime.
Commit: fe1fa43f16beac1506a2e73a9f7b3c81179744eb
https://github.com/llvm/llvm-project/commit/fe1fa43f16beac1506a2e73a9f7b3c81179744eb
Author: Lang Hames <lhames at gmail.com>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
A compiler-rt/lib/orc/macho_tlv.x86-64.s
A compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-tlv.S
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][ORC-RT] Add initial native-TLV support to MachOPlatform.
Adds code to LLVM (MachOPlatform) and the ORC runtime to support native MachO
thread local variables. Adding new TLVs to a JITDylib at runtime is supported.
On the LLVM side MachOPlatform is updated to:
1. Identify thread local variables in the LinkGraph and lower them to GOT
accesses to data in the __thread_data or __thread_bss sections.
2. Merge and report the address range of __thread_data and thread_bss sections
to the runtime.
On the ORC runtime a MachOTLVManager class introduced which records the address
range of thread data/bss sections, and creates thread-local instances from the
initial data on demand. An orc-runtime specific tlv_get_addr implementation is
included which saves all register state then calls the MachOTLVManager to get
the address of the requested variable for the current thread.
Compare: https://github.com/llvm/llvm-project/compare/2fd1520247de...fe1fa43f16be
More information about the All-commits
mailing list