From 03395d2e58b220d455891e34c747d3c61f8d43e2 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Thu, 14 Jun 2018 15:32:56 +0000 Subject: [ORC] Strip the Materializing flag off finalized symbols in VSOs. Finalized symbols are no longer in the materializing state. llvm-svn: 334721 --- llvm/lib/ExecutionEngine/Orc/Core.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'llvm/lib/ExecutionEngine') 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( + 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( + Sym.getFlags() & ~JITSymbolFlags::Materializing)); MaterializingInfos.erase(MII); } } -- cgit v1.2.3