IR: MDNode => Value: AsmWriter SlotTracker API
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 5 Nov 2014 17:56:28 +0000 (17:56 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 5 Nov 2014 17:56:28 +0000 (17:56 +0000)
Change `SlotTracker::CreateMetadataSlot()` and
`SlotTracker::getMetadataSlot()` to use `Value` instead of `MDNode`.
Part of PR21433.

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

lib/IR/AsmWriter.cpp

index 2dab6a44bc9739f2870db5951fd6c395eff49f13..d9e3131ce3ce1475360d8c48b37de24d1d01470e 100644 (file)
@@ -545,7 +545,7 @@ public:
   /// plane.  If something is not in the SlotTracker, return -1.
   int getLocalSlot(const Value *V);
   int getGlobalSlot(const GlobalValue *V);
-  int getMetadataSlot(const MDNode *N);
+  int getMetadataSlot(const Value *MD);
   int getAttributeGroupSlot(AttributeSet AS);
 
   /// If you'd like to deal with a function instead of just a module, use
@@ -585,7 +585,7 @@ private:
   void CreateModuleSlot(const GlobalValue *V);
 
   /// CreateMetadataSlot - Insert the specified MDNode* into the slot table.
-  void CreateMetadataSlot(const MDNode *N);
+  void CreateMetadataSlot(const Value *MD);
 
   /// CreateFunctionSlot - Insert the specified Value* into the slot table.
   void CreateFunctionSlot(const Value *V);
@@ -786,13 +786,13 @@ int SlotTracker::getGlobalSlot(const GlobalValue *V) {
   return MI == mMap.end() ? -1 : (int)MI->second;
 }
 
-/// getMetadataSlot - Get the slot number of a MDNode.
-int SlotTracker::getMetadataSlot(const MDNode *N) {
+/// getMetadataSlot - Get the slot number of a metadata node.
+int SlotTracker::getMetadataSlot(const Value *MD) {
   // Check for uninitialized state and do lazy initialization.
   initialize();
 
   // Find the MDNode in the module map
-  mdn_iterator MI = mdnMap.find(N);
+  mdn_iterator MI = mdnMap.find(cast<MDNode>(MD));
   return MI == mdnMap.end() ? -1 : (int)MI->second;
 }
 
@@ -846,9 +846,10 @@ void SlotTracker::CreateFunctionSlot(const Value *V) {
            DestSlot << " [o]\n");
 }
 
-/// CreateModuleSlot - Insert the specified MDNode* into the slot table.
-void SlotTracker::CreateMetadataSlot(const MDNode *N) {
-  assert(N && "Can't insert a null Value into SlotTracker!");
+/// CreateModuleSlot - Insert the specified metadata into the slot table.
+void SlotTracker::CreateMetadataSlot(const Value *MD) {
+  assert(MD && "Can't insert a null Value into SlotTracker!");
+  const MDNode *N = cast<MDNode>(MD);
 
   // Don't insert if N is a function-local metadata, these are always printed
   // inline.