[PATCH] D58704: Initial (incomplete) implementation of JITLink - A replacement for RuntimeDyld.
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 9 15:57:49 PDT 2019
lhames added a comment.
In D58704#1460555 <https://reviews.llvm.org/D58704#1460555>, @lhames wrote:
> - Lots of changes. Headlines:
Oops. The commit message got cut off in this update. Here it is:
Lots of changes. Headlines:
(1) Changes the way dead stripping is performed: Atoms now have a 'live' flag,
which should be set by a pass (that may be supplied by the target or the
client). The dead-strip algorithm propagates liveness from the original set of
live atoms along edges to all reachable atoms, then deletes any atoms not marked
live.
(2) Weak symbol support: JITLink now supports discarding duplicate weak
definitions (despite JITLink operating on a single file at a time) by setting a
"should-discard" flag on definitions to be dropped. If the should-discard flag
is set on an atom it will be discarded during dead-stripping. (Liveness flags
are not propagated through atoms marked should-discard, to prevent them from
spuriously keeping other atoms live).
(3) New 'llvm-jitlink' tool for testing: This is the JITLink equivalent of
llvm-rtdyld: it allows us to link object files from the command line and execute
their contents or perform tests.
(4) New JITLink based ObjectLinkingLayer in ORC: This is the JITLink equivalent
RTDyldObjectLinkingLayer, and is used in the implementation of llvm-jitlink.
(5) Most MachO/x86-64 relocations now supported. More to come before commit.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58704/new/
https://reviews.llvm.org/D58704
More information about the llvm-commits
mailing list