Constify the Function pointers in the result of makeSubprogramMap
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 2 Jul 2014 18:30:05 +0000 (18:30 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 2 Jul 2014 18:30:05 +0000 (18:30 +0000)
These don't need to be mutable and callers being added soon in CodeGen
won't have access to non-const Module&.

llvm-svn: 212202

llvm/include/llvm/IR/DebugInfo.h
llvm/lib/IR/DebugInfo.cpp
llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp

index b397877..088eb9f 100644 (file)
@@ -935,7 +935,7 @@ private:
   bool TypeMapInitialized;
 };
 
-DenseMap<Function *, DISubprogram> makeSubprogramMap(Module &M);
+DenseMap<const Function *, DISubprogram> makeSubprogramMap(const Module &M);
 
 } // end namespace llvm
 
index c28dc69..5e39b24 100644 (file)
@@ -1527,8 +1527,9 @@ unsigned llvm::getDebugMetadataVersionFromModule(const Module &M) {
   return cast<ConstantInt>(Val)->getZExtValue();
 }
 
-llvm::DenseMap<llvm::Function *, llvm::DISubprogram> llvm::makeSubprogramMap(Module &M) {
-  DenseMap<Function *, DISubprogram> R;
+llvm::DenseMap<const llvm::Function *, llvm::DISubprogram>
+llvm::makeSubprogramMap(const Module &M) {
+  DenseMap<const Function *, DISubprogram> R;
 
   NamedMDNode *CU_Nodes = M.getNamedMetadata("llvm.dbg.cu");
   if (!CU_Nodes)
index 2e89a25..97a119b 100644 (file)
@@ -84,7 +84,7 @@ namespace {
     bool doInitialization(CallGraph &CG) override;
     /// The maximum number of elements to expand, or 0 for unlimited.
     unsigned maxElements;
-    DenseMap<Function *, DISubprogram> FunctionDIs;
+    DenseMap<const Function *, DISubprogram> FunctionDIs;
   };
 }
 
index fa8ef2a..ac3853d 100644 (file)
@@ -127,8 +127,7 @@ namespace {
     // As the code generation for module is finished (and DIBuilder is
     // finalized) we assume that subprogram descriptors won't be changed, and
     // they are stored in map for short duration anyway.
-    typedef DenseMap<Function*, DISubprogram> FunctionDIMap;
-    FunctionDIMap FunctionDIs;
+    DenseMap<const Function *, DISubprogram> FunctionDIs;
 
   protected:
     // DAH uses this to specify a different ID.
@@ -297,7 +296,7 @@ bool DAE::DeleteDeadVarargs(Function &Fn) {
   }
 
   // Patch the pointer to LLVM function in debug info descriptor.
-  FunctionDIMap::iterator DI = FunctionDIs.find(&Fn);
+  auto DI = FunctionDIs.find(&Fn);
   if (DI != FunctionDIs.end())
     DI->second.replaceFunction(NF);
 
@@ -1057,7 +1056,7 @@ bool DAE::RemoveDeadStuffFromFunction(Function *F) {
       }
 
   // Patch the pointer to LLVM function in debug info descriptor.
-  FunctionDIMap::iterator DI = FunctionDIs.find(F);
+  auto DI = FunctionDIs.find(F);
   if (DI != FunctionDIs.end())
     DI->second.replaceFunction(NF);