aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-09-28 15:03:11 +0000
committerLang Hames <lhames@gmail.com>2018-09-28 15:03:11 +0000
commit46f40a7128dafa52c7e8ba90dd0d6664337ae5ad (patch)
tree160c6f4fb723fa90f0ea52e95d28bd7a6115031c /llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
parent83cd9b32dd90d4926ef12a4008a96c5dc19f91b8 (diff)
downloadllvm-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.cpp6
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?");
}