[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