[llvm] r343395 - [ORC] Clear SymbolToDefinitionMap when materializing a MaterializationUnit.
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 29 16:49:56 PDT 2018
Author: lhames
Date: Sat Sep 29 16:49:56 2018
New Revision: 343395
URL: http://llvm.org/viewvc/llvm-project?rev=343395&view=rev
Log:
[ORC] Clear SymbolToDefinitionMap when materializing a MaterializationUnit.
The map is inaccessible at this point, so we may as well reclaim the memory
early.
Modified:
llvm/trunk/lib/ExecutionEngine/Orc/Layer.cpp
Modified: llvm/trunk/lib/ExecutionEngine/Orc/Layer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Orc/Layer.cpp?rev=343395&r1=343394&r2=343395&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/Orc/Layer.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/Orc/Layer.cpp Sat Sep 29 16:49:56 2018
@@ -76,6 +76,11 @@ BasicIRLayerMaterializationUnit::BasicIR
void BasicIRLayerMaterializationUnit::materialize(
MaterializationResponsibility R) {
+ // Throw away the SymbolToDefinition map: it's not usable after we hand
+ // off the module.
+ SymbolToDefinition.clear();
+
+ // If cloneToNewContextOnEmit is set, clone the module now.
if (L.getCloneToNewContextOnEmit())
TSM = cloneToNewContext(TSM);
More information about the llvm-commits
mailing list