From 103c75a7dbaa75c1c2540b301cc5ba3df4bed865 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Thu, 14 Jun 2018 15:32:56 +0000 Subject: [PATCH] [ORC] Strip the Materializing flag off finalized symbols in VSOs. Finalized symbols are no longer in the materializing state. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334721 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/Orc/Core.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/ExecutionEngine/Orc/Core.cpp b/lib/ExecutionEngine/Orc/Core.cpp index 5eb6d143479..5ae65ab2f66 100644 --- a/lib/ExecutionEngine/Orc/Core.cpp +++ b/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); } } -- 2.11.0