summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-05-31 19:29:01 +0000
committerLang Hames <lhames@gmail.com>2018-05-31 19:29:01 +0000
commitd3a76f5bbc7b39d246e910779a2592ce67fe1e48 (patch)
treee052fae6127a6bdac7d19a5f8e1ab59f09fa8afb /llvm/lib
parentdfbe6b49f024cfaca01d74f1fa35d83d5ad01c4d (diff)
downloadbcm5719-llvm-d3a76f5bbc7b39d246e910779a2592ce67fe1e48.tar.gz
bcm5719-llvm-d3a76f5bbc7b39d246e910779a2592ce67fe1e48.zip
[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). llvm-svn: 333683
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Layer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp
index 346dde4f7a8..1927bce45d4 100644
--- a/llvm/lib/ExecutionEngine/Orc/Layer.cpp
+++ b/llvm/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(
OpenPOWER on IntegriCloud