summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-06-14 15:32:56 +0000
committerLang Hames <lhames@gmail.com>2018-06-14 15:32:56 +0000
commit03395d2e58b220d455891e34c747d3c61f8d43e2 (patch)
tree091edd3dde072bd2e63190f8868007cd06c9a319
parentb4a43d6610398403e028fb673e13a141b940d215 (diff)
downloadbcm5719-llvm-03395d2e58b220d455891e34c747d3c61f8d43e2.tar.gz
bcm5719-llvm-03395d2e58b220d455891e34c747d3c61f8d43e2.zip
[ORC] Strip the Materializing flag off finalized symbols in VSOs.
Finalized symbols are no longer in the materializing state. llvm-svn: 334721
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Core.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index 5eb6d143479..5ae65ab2f66 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -562,8 +562,9 @@ void VSO::finalize(const SymbolFlagsMap &Finalized) {
// MaterializingInfo and update its materializing state.
assert(DependantVSO.Symbols.count(DependantName) &&
"Dependant has no entry in the Symbols table");
- DependantVSO.Symbols[DependantName].getFlags() &=
- JITSymbolFlags::Materializing;
+ auto &DependantSym = DependantVSO.Symbols[DependantName];
+ DependantSym.setFlags(static_cast<JITSymbolFlags::FlagNames>(
+ DependantSym.getFlags() & ~JITSymbolFlags::Materializing));
DependantVSO.MaterializingInfos.erase(DependantMII);
}
}
@@ -580,7 +581,9 @@ void VSO::finalize(const SymbolFlagsMap &Finalized) {
}
assert(Symbols.count(Name) &&
"Symbol has no entry in the Symbols table");
- Symbols[Name].getFlags() &= ~JITSymbolFlags::Materializing;
+ auto &Sym = Symbols[Name];
+ Sym.setFlags(static_cast<JITSymbolFlags::FlagNames>(
+ Sym.getFlags() & ~JITSymbolFlags::Materializing));
MaterializingInfos.erase(MII);
}
}
OpenPOWER on IntegriCloud