summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-10-15 16:11:41 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-10-15 16:11:41 +0000
commit3bfffde27a820789b37a0c6e3d7f32d3757f4b32 (patch)
tree6afe88db9b138aa9fb7b045130879ec7fd087de4 /llvm/include
parent146700ee64055aa49b5a5a690ac3bac8075e9aaa (diff)
downloadbcm5719-llvm-3bfffde27a820789b37a0c6e3d7f32d3757f4b32.tar.gz
bcm5719-llvm-3bfffde27a820789b37a0c6e3d7f32d3757f4b32.zip
DI: Use a `DenseMap` instead of named metadata, NFC
Remove a strange round-trip through named metadata to assign preserved local variables to their subprograms. llvm-svn: 219798
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/IR/DIBuilder.h3
-rw-r--r--llvm/include/llvm/IR/DebugInfo.h8
2 files changed, 3 insertions, 8 deletions
diff --git a/llvm/include/llvm/IR/DIBuilder.h b/llvm/include/llvm/IR/DIBuilder.h
index d12a0c609db..8484d04e914 100644
--- a/llvm/include/llvm/IR/DIBuilder.h
+++ b/llvm/include/llvm/IR/DIBuilder.h
@@ -73,6 +73,9 @@ namespace llvm {
SmallVector<Value *, 4> AllGVs;
SmallVector<TrackingVH<MDNode>, 4> AllImportedModules;
+ /// Each subprogram's preserved local variables.
+ DenseMap<MDNode *, std::vector<TrackingVH<MDNode>>> PreservedVariables;
+
// Private use for multiple types of template parameters.
DITemplateValueParameter
createTemplateValueParameter(unsigned Tag, DIDescriptor Scope,
diff --git a/llvm/include/llvm/IR/DebugInfo.h b/llvm/include/llvm/IR/DebugInfo.h
index 510c36cb5cd..fe627d52dff 100644
--- a/llvm/include/llvm/IR/DebugInfo.h
+++ b/llvm/include/llvm/IR/DebugInfo.h
@@ -958,14 +958,6 @@ DISubprogram getDISubprogram(const MDNode *Scope);
/// getDICompositeType - Find underlying composite type.
DICompositeType getDICompositeType(DIType T);
-/// getOrInsertFnSpecificMDNode - Return a NameMDNode that is suitable
-/// to hold function specific information.
-NamedMDNode *getOrInsertFnSpecificMDNode(Module &M, DISubprogram SP);
-
-/// getFnSpecificMDNode - Return a NameMDNode, if available, that is
-/// suitable to hold function specific information.
-NamedMDNode *getFnSpecificMDNode(const Module &M, DISubprogram SP);
-
/// createInlinedVariable - Create a new inlined variable based on current
/// variable.
/// @param DV Current Variable.
OpenPOWER on IntegriCloud