diff options
author | Lang Hames <lhames@gmail.com> | 2018-09-28 15:03:11 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-09-28 15:03:11 +0000 |
commit | 46f40a7128dafa52c7e8ba90dd0d6664337ae5ad (patch) | |
tree | 160c6f4fb723fa90f0ea52e95d28bd7a6115031c /llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | |
parent | 83cd9b32dd90d4926ef12a4008a96c5dc19f91b8 (diff) | |
download | llvm-46f40a7128dafa52c7e8ba90dd0d6664337ae5ad.zip llvm-46f40a7128dafa52c7e8ba90dd0d6664337ae5ad.tar.gz llvm-46f40a7128dafa52c7e8ba90dd0d6664337ae5ad.tar.bz2 |
[ORC] Improve debugging output for ORC.
(1) Print debugging output under a session lock to avoid garbled messages when
compiling on multiple threads.
(2) Name MaterializationUnits, add an ostream operator for them, and so they can
be easily referenced in debugging output, and have that ostream operator
optionally print code/data/hidden symbols provided by that materialization unit
based on command line options.
llvm-svn: 343323
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp index c1ece81..d0c7095 100644 --- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp @@ -31,15 +31,17 @@ public: : MaterializationUnit(SymbolFlagsMap({{Name, JITSymbolFlags::Exported}})), Name(std::move(Name)), Compile(std::move(Compile)) {} + StringRef getName() const override { return "<Compile Callbacks>"; } + private: - void materialize(MaterializationResponsibility R) { + void materialize(MaterializationResponsibility R) override { SymbolMap Result; Result[Name] = JITEvaluatedSymbol(Compile(), JITSymbolFlags::Exported); R.resolve(Result); R.emit(); } - void discard(const JITDylib &JD, SymbolStringPtr Name) { + void discard(const JITDylib &JD, SymbolStringPtr Name) override { llvm_unreachable("Discard should never occur on a LMU?"); } |