diff options
author | Lang Hames <lhames@gmail.com> | 2018-06-26 20:59:46 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-06-26 20:59:46 +0000 |
commit | ec8f5c8e5aa0989cbde7bc5e6190e5267fa074e4 (patch) | |
tree | 65f5452fcd82d20c528f5608dc4e727ff598e634 /llvm | |
parent | 0a80af07618a0afe20df39cd8692a1d29876507d (diff) | |
download | bcm5719-llvm-ec8f5c8e5aa0989cbde7bc5e6190e5267fa074e4.tar.gz bcm5719-llvm-ec8f5c8e5aa0989cbde7bc5e6190e5267fa074e4.zip |
[ORC] Fix a FIXME by moving MangleAndInterner to Core.h.
llvm-svn: 335661
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/Core.h | 12 | ||||
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/Layer.h | 13 | ||||
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Core.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Layer.cpp | 12 |
4 files changed, 26 insertions, 25 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Core.h b/llvm/include/llvm/ExecutionEngine/Orc/Core.h index 92272166b96..301a2fe0be0 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Core.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Core.h @@ -701,6 +701,18 @@ Expected<SymbolMap> lookup(const VSO::VSOList &VSOs, SymbolNameSet Names); Expected<JITEvaluatedSymbol> lookup(const VSO::VSOList &VSOs, SymbolStringPtr Name); +/// Mangles symbol names then uniques them in the context of an +/// ExecutionSession. +class MangleAndInterner { +public: + MangleAndInterner(ExecutionSessionBase &ES, const DataLayout &DL); + SymbolStringPtr operator()(StringRef Name); + +private: + ExecutionSessionBase &ES; + const DataLayout &DL; +}; + } // End namespace orc } // End namespace llvm diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Layer.h b/llvm/include/llvm/ExecutionEngine/Orc/Layer.h index 0010fae99a7..91bd4fb83e6 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Layer.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Layer.h @@ -20,19 +20,6 @@ namespace llvm { namespace orc { -/// Mangles symbol names then uniques them in the context of an -/// ExecutionSession. -// -// FIXME: This may be more at home in Core.h. -class MangleAndInterner { -public: - MangleAndInterner(ExecutionSession &ES, const DataLayout &DL); - SymbolStringPtr operator()(StringRef Name); -private: - ExecutionSession &ES; - const DataLayout &DL; -}; - /// Interface for layers that accept LLVM IR. class IRLayer { public: diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp index 751e931f26d..333c3693e4a 100644 --- a/llvm/lib/ExecutionEngine/Orc/Core.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp @@ -10,6 +10,7 @@ #include "llvm/ExecutionEngine/Orc/Core.h" #include "llvm/Config/llvm-config.h" #include "llvm/ExecutionEngine/Orc/OrcError.h" +#include "llvm/IR/Mangler.h" #include "llvm/Support/Format.h" #if LLVM_ENABLE_THREADS @@ -1208,5 +1209,18 @@ Expected<JITEvaluatedSymbol> lookup(const VSO::VSOList &VSOs, return ResultMap.takeError(); } +MangleAndInterner::MangleAndInterner(ExecutionSessionBase &ES, + const DataLayout &DL) + : ES(ES), DL(DL) {} + +SymbolStringPtr MangleAndInterner::operator()(StringRef Name) { + std::string MangledName; + { + raw_string_ostream MangledNameStream(MangledName); + Mangler::getNameWithPrefix(MangledNameStream, Name, DL); + } + return ES.getSymbolStringPool().intern(MangledName); +} + } // End namespace orc. } // End namespace llvm. diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp index cbf1f4c244d..76255f56fd4 100644 --- a/llvm/lib/ExecutionEngine/Orc/Layer.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Layer.cpp @@ -15,18 +15,6 @@ namespace llvm { namespace orc { -MangleAndInterner::MangleAndInterner(ExecutionSession &ES, const DataLayout &DL) - : ES(ES), DL(DL) {} - -SymbolStringPtr MangleAndInterner::operator()(StringRef Name) { - std::string MangledName; - { - raw_string_ostream MangledNameStream(MangledName); - Mangler::getNameWithPrefix(MangledNameStream, Name, DL); - } - return ES.getSymbolStringPool().intern(MangledName); -} - IRLayer::IRLayer(ExecutionSession &ES) : ES(ES) {} IRLayer::~IRLayer() {} |