[llvm-commits] [llvm] r54895 - in /llvm/trunk/lib/CodeGen: GCMetadata.cpp GCStrategy.cpp

Gordon Henriksen gordonhenriksen at mac.com
Sun Aug 17 09:18:52 PDT 2008


Author: gordon
Date: Sun Aug 17 11:18:50 2008
New Revision: 54895

URL: http://llvm.org/viewvc/llvm-project?rev=54895&view=rev
Log:
Don't instantiate GC metadata for declarations.

Modified:
    llvm/trunk/lib/CodeGen/GCMetadata.cpp
    llvm/trunk/lib/CodeGen/GCStrategy.cpp

Modified: llvm/trunk/lib/CodeGen/GCMetadata.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GCMetadata.cpp?rev=54895&r1=54894&r2=54895&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/GCMetadata.cpp (original)
+++ llvm/trunk/lib/CodeGen/GCMetadata.cpp Sun Aug 17 11:18:50 2008
@@ -99,7 +99,9 @@
 }
 
 CollectorMetadata &CollectorModuleMetadata::get(const Function &F) {
+  assert(!F.isDeclaration() && "Can only get GCFunctionInfo for a definition!");
   assert(F.hasCollector());
+  
   function_map_type::iterator I = Map.find(&F);
   if (I != Map.end())
     return *I->second;

Modified: llvm/trunk/lib/CodeGen/GCStrategy.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GCStrategy.cpp?rev=54895&r1=54894&r2=54895&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/GCStrategy.cpp (original)
+++ llvm/trunk/lib/CodeGen/GCStrategy.cpp Sun Aug 17 11:18:50 2008
@@ -144,7 +144,7 @@
   CollectorModuleMetadata *CMM = getAnalysisToUpdate<CollectorModuleMetadata>();
   assert(CMM && "LowerIntrinsics didn't require CollectorModuleMetadata!?");
   for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
-    if (I->hasCollector())
+    if (!I->isDeclaration() && I->hasCollector())
       CMM->get(*I); // Instantiate the Collector.
   
   bool MadeChange = false;





More information about the llvm-commits mailing list