change the strange MetadataContext::getMDs function to expose less
authorChris Lattner <sabre@nondot.org>
Mon, 28 Dec 2009 08:14:54 +0000 (08:14 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 28 Dec 2009 08:14:54 +0000 (08:14 +0000)
irrelevant internal implementation details to clients.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Metadata.h
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/Bitcode/Writer/ValueEnumerator.cpp
lib/VMCore/AsmWriter.cpp
lib/VMCore/Metadata.cpp

index 676811ebb4c833526049e911576d4f31c552ed2c..c97558fe5da523b53a0c47e800914925831e34c3 100644 (file)
@@ -236,7 +236,7 @@ public:
 
   /// getMDs - Get the metadata attached to an Instruction.
   void getMDs(const Instruction *Inst, 
-        SmallVectorImpl<std::pair<unsigned, TrackingVH<MDNode> > > &MDs) const;
+              SmallVectorImpl<std::pair<unsigned, MDNode*> > &MDs) const;
 
   /// addMD - Attach the metadata of given kind to an Instruction.
   void addMD(unsigned Kind, MDNode *Node, Instruction *Inst);
index af0b8acd44ce9327ed590a407e8b3efa42eeedd9..ab514d2cb5bae0758120b8750bbee1762ccf8b46 100644 (file)
@@ -562,7 +562,7 @@ static void WriteMetadataAttachment(const Function &F,
   // Write metadata attachments
   // METADATA_ATTACHMENT - [m x [value, [n x [id, mdnode]]]
   MetadataContext &TheMetadata = F.getContext().getMetadata();
-  typedef SmallVector<std::pair<unsigned, TrackingVH<MDNode> >, 2> MDMapTy;
+  typedef SmallVector<std::pair<unsigned, MDNode*>, 2> MDMapTy;
   MDMapTy MDs;
   for (Function::const_iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
     for (BasicBlock::const_iterator I = BB->begin(), E = BB->end();
index d5b810c85443b8263faaa52c18d179d50f5bcc75..29c6d374da9e81730fa44fc84bf7ddf8fb06cc05 100644 (file)
@@ -88,7 +88,7 @@ ValueEnumerator::ValueEnumerator(const Module *M) {
       EnumerateType(I->getType());
 
     MetadataContext &TheMetadata = F->getContext().getMetadata();
-    typedef SmallVector<std::pair<unsigned, TrackingVH<MDNode> >, 2> MDMapTy;
+    typedef SmallVector<std::pair<unsigned, MDNode*>, 2> MDMapTy;
     MDMapTy MDs;
     for (Function::const_iterator BB = F->begin(), E = F->end(); BB != E; ++BB)
       for (BasicBlock::const_iterator I = BB->begin(), E = BB->end(); I!=E;++I){
index 13905ea1906b88cfd4992bdec5a4b61fcf5d770b..4ef57fed872f9872d760812c883384d081ba400f 100644 (file)
@@ -681,7 +681,7 @@ void SlotTracker::processFunction() {
   ST_DEBUG("Inserting Instructions:\n");
 
   MetadataContext &TheMetadata = TheFunction->getContext().getMetadata();
-  typedef SmallVector<std::pair<unsigned, TrackingVH<MDNode> >, 2> MDMapTy;
+  typedef SmallVector<std::pair<unsigned, MDNode*>, 2> MDMapTy;
   MDMapTy MDs;
 
   // Add all of the basic blocks and instructions with no names.
@@ -2085,7 +2085,7 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
   // Print Metadata info
   if (!MDNames.empty()) {
     MetadataContext &TheMetadata = I.getContext().getMetadata();
-    typedef SmallVector<std::pair<unsigned, TrackingVH<MDNode> >, 2> MDMapTy;
+    typedef SmallVector<std::pair<unsigned, MDNode*>, 2> MDMapTy;
     MDMapTy MDs;
     TheMetadata.getMDs(&I, MDs);
     for (MDMapTy::const_iterator MI = MDs.begin(), ME = MDs.end(); MI != ME; 
index 26b5294ac36fc52efde83ba14e9e7148ab63dcd9..08433a176381cd3bc8cccc1269fbb1c65a65d343 100644 (file)
@@ -322,7 +322,8 @@ public:
   MDNode *getMD(unsigned Kind, const Instruction *Inst);
 
   /// getMDs - Get the metadata attached to an Instruction.
-  void getMDs(const Instruction *Inst, SmallVectorImpl<MDPairTy> &MDs) const;
+  void getMDs(const Instruction *Inst,
+              SmallVectorImpl<std::pair<unsigned, MDNode*> > &MDs) const;
 
   /// addMD - Attach the metadata of given kind to an Instruction.
   void addMD(unsigned Kind, MDNode *Node, Instruction *Inst);
@@ -447,7 +448,8 @@ MDNode *MetadataContextImpl::getMD(unsigned MDKind, const Instruction *Inst) {
 
 /// getMDs - Get the metadata attached to an Instruction.
 void MetadataContextImpl::
-getMDs(const Instruction *Inst, SmallVectorImpl<MDPairTy> &MDs) const {
+getMDs(const Instruction *Inst,
+       SmallVectorImpl<std::pair<unsigned, MDNode*> > &MDs) const {
   MDStoreTy::const_iterator I = MetadataStore.find(Inst);
   if (I == MetadataStore.end())
     return;
@@ -542,7 +544,7 @@ MDNode *MetadataContext::getMD(unsigned Kind, const Instruction *Inst) {
 /// getMDs - Get the metadata attached to an Instruction.
 void MetadataContext::
 getMDs(const Instruction *Inst, 
-       SmallVectorImpl<std::pair<unsigned, TrackingVH<MDNode> > > &MDs) const {
+       SmallVectorImpl<std::pair<unsigned, MDNode*> > &MDs) const {
   return pImpl->getMDs(Inst, MDs);
 }