[llvm] r221359 - IR: MDNode => Value: NamedMDNode::addOperand()

Duncan P. N. Exon Smith dexonsmith at apple.com
Wed Nov 5 09:16:09 PST 2014


Author: dexonsmith
Date: Wed Nov  5 11:16:09 2014
New Revision: 221359

URL: http://llvm.org/viewvc/llvm-project?rev=221359&view=rev
Log:
IR: MDNode => Value: NamedMDNode::addOperand()

Change `NamedMDNode::addOperand()` to take a `Value *` instead of an
`MDNode *`.  This is part of PR21433.

Modified:
    llvm/trunk/include/llvm/IR/Metadata.h
    llvm/trunk/lib/IR/Metadata.cpp

Modified: llvm/trunk/include/llvm/IR/Metadata.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Metadata.h?rev=221359&r1=221358&r2=221359&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Metadata.h (original)
+++ llvm/trunk/include/llvm/IR/Metadata.h Wed Nov  5 11:16:09 2014
@@ -307,7 +307,7 @@ public:
 
   MDNode *getOperand(unsigned i) const;
   unsigned getNumOperands() const;
-  void addOperand(MDNode *M);
+  void addOperand(Value *M);
   StringRef getName() const;
   void print(raw_ostream &ROS) const;
   void dump() const;

Modified: llvm/trunk/lib/IR/Metadata.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Metadata.cpp?rev=221359&r1=221358&r2=221359&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Metadata.cpp (original)
+++ llvm/trunk/lib/IR/Metadata.cpp Wed Nov  5 11:16:09 2014
@@ -578,7 +578,8 @@ MDNode *NamedMDNode::getOperand(unsigned
   return &*getNMDOps(Operands)[i];
 }
 
-void NamedMDNode::addOperand(MDNode *M) {
+void NamedMDNode::addOperand(Value *V) {
+  auto *M = cast<MDNode>(V);
   assert(!M->isFunctionLocal() &&
          "NamedMDNode operands must not be function-local!");
   getNMDOps(Operands).push_back(TrackingVH<MDNode>(M));





More information about the llvm-commits mailing list