diff options
author | Lang Hames <lhames@gmail.com> | 2024-11-18 11:17:36 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-18 11:17:36 +1100 |
commit | 224290d44899be4614eb6795aa514103cd76e597 (patch) | |
tree | dbdd56ce3627441ace9a863f79dcde30262a8078 /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | 521c99627690e09ba25383c83232f94ff457f00c (diff) | |
download | llvm-224290d44899be4614eb6795aa514103cd76e597.zip llvm-224290d44899be4614eb6795aa514103cd76e597.tar.gz llvm-224290d44899be4614eb6795aa514103cd76e597.tar.bz2 |
[ORC] Add LazyObjectLinkingLayer, lazy-linking support to llvm-jitlink (#116002)
LazyObjectLinkingLayer can be used to add object files that will not be linked
into the executor unless some function that they define is called at runtime.
(References to data members defined by these objects will still trigger
immediate linking)
To implement lazy linking, LazyObjectLinkingLayer uses the lazyReexports
utility to construct stubs for each function in a given object file, and an
ObjectLinkingLayer::Plugin to rename the function bodies at link-time. (Data
symbols are not renamed)
The llvm-jitlink utility is extended with a -lazy option that can be
passed before input files or archives to add them using the lazy linking
layer rather than the base ObjectLinkingLayer.
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions