diff options
author | Lang Hames <lhames@gmail.com> | 2018-05-31 19:29:01 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-05-31 19:29:01 +0000 |
commit | 5da314cda88ceeea8bf303ebfeeea1c8b30915c3 (patch) | |
tree | 7a1429fc3b6599e71a8d621ed48337ed2bae1cdf /lib/ExecutionEngine/Orc | |
parent | 4129c41f40b33ca21f1c5621b7fad4f88ffab867 (diff) |
[ORC] Rename IRMaterializationUnit's Discardable member to SymbolToDefinition,
and make it protected rather than private.
The new name reflects the actual information in the map, and this information
can be useful to derived classes (for example, to quickly look up the IR
definition of a requested symbol).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333683 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/Orc')
-rw-r--r-- | lib/ExecutionEngine/Orc/Layer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/ExecutionEngine/Orc/Layer.cpp b/lib/ExecutionEngine/Orc/Layer.cpp index 346dde4f7a8..1927bce45d4 100644 --- a/lib/ExecutionEngine/Orc/Layer.cpp +++ b/lib/ExecutionEngine/Orc/Layer.cpp @@ -46,17 +46,19 @@ IRMaterializationUnit::IRMaterializationUnit(ExecutionSession &ES, !G.hasAvailableExternallyLinkage()) { auto MangledName = Mangle(G.getName()); SymbolFlags[MangledName] = JITSymbolFlags::fromGlobalValue(G); - Discardable[MangledName] = &G; + SymbolToDefinition[MangledName] = &G; } } } void IRMaterializationUnit::discard(const VSO &V, SymbolStringPtr Name) { - auto I = Discardable.find(Name); - assert(I != Discardable.end() && + auto I = SymbolToDefinition.find(Name); + assert(I != SymbolToDefinition.end() && "Symbol not provided by this MU, or previously discarded"); + assert(!I->second->isDeclaration() && + "Discard should only apply to definitions"); I->second->setLinkage(GlobalValue::AvailableExternallyLinkage); - Discardable.erase(I); + SymbolToDefinition.erase(I); } BasicIRLayerMaterializationUnit::BasicIRLayerMaterializationUnit( |