aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineModuleInfo.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2024-11-18 11:17:36 +1100
committerGitHub <noreply@github.com>2024-11-18 11:17:36 +1100
commit224290d44899be4614eb6795aa514103cd76e597 (patch)
treedbdd56ce3627441ace9a863f79dcde30262a8078 /llvm/lib/CodeGen/MachineModuleInfo.cpp
parent521c99627690e09ba25383c83232f94ff457f00c (diff)
downloadllvm-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