diff options
author | Lang Hames <lhames@gmail.com> | 2021-12-08 08:10:41 +1100 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2021-12-08 13:41:15 +1100 |
commit | ae73f3fdd6340a7cc20ba3ad878b5a5b6502968f (patch) | |
tree | ec9dc74fcfa997b6cfb1a1582e2b9abcb30139e9 /llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp | |
parent | c16c99ab03c6b7b4effb074acbaecda083b18b03 (diff) | |
download | llvm-ae73f3fdd6340a7cc20ba3ad878b5a5b6502968f.zip llvm-ae73f3fdd6340a7cc20ba3ad878b5a5b6502968f.tar.gz llvm-ae73f3fdd6340a7cc20ba3ad878b5a5b6502968f.tar.bz2 |
[ORC] Add a MaterializationUnit::Interface struct.
MaterializationUnit::Interface holds the values that make up the interface
(for ORC's purposes) of a materialization unit: the symbol flags map and
initializer symbol.
Having a type for this will make functions that build materializer interfaces
more readable and maintainable.
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp b/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp index 6f840a0..a6d3ca7 100644 --- a/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp @@ -23,12 +23,6 @@ using namespace llvm::orc; namespace { class LinkGraphMaterializationUnit : public MaterializationUnit { -private: - struct LinkGraphInterface { - SymbolFlagsMap SymbolFlags; - SymbolStringPtr InitSymbol; - }; - public: static std::unique_ptr<LinkGraphMaterializationUnit> Create(ObjectLinkingLayer &ObjLinkingLayer, std::unique_ptr<LinkGraph> G) { @@ -44,9 +38,9 @@ public: } private: - static LinkGraphInterface scanLinkGraph(ExecutionSession &ES, LinkGraph &G) { + static Interface scanLinkGraph(ExecutionSession &ES, LinkGraph &G) { - LinkGraphInterface LGI; + Interface LGI; for (auto *Sym : G.defined_symbols()) { // Skip local symbols. @@ -98,11 +92,9 @@ private: } LinkGraphMaterializationUnit(ObjectLinkingLayer &ObjLinkingLayer, - std::unique_ptr<LinkGraph> G, - LinkGraphInterface LGI) - : MaterializationUnit(std::move(LGI.SymbolFlags), - std::move(LGI.InitSymbol)), - ObjLinkingLayer(ObjLinkingLayer), G(std::move(G)) {} + std::unique_ptr<LinkGraph> G, Interface LGI) + : MaterializationUnit(std::move(LGI)), ObjLinkingLayer(ObjLinkingLayer), + G(std::move(G)) {} void discard(const JITDylib &JD, const SymbolStringPtr &Name) override { for (auto *Sym : G->defined_symbols()) |