From: Duncan P. N. Exon Smith Date: Wed, 5 Nov 2014 17:16:09 +0000 (+0000) Subject: IR: MDNode => Value: NamedMDNode::addOperand() X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=72ced73d4547ce548cefb2716176b9b9b282cf59;p=oota-llvm.git IR: MDNode => Value: NamedMDNode::addOperand() Change `NamedMDNode::addOperand()` to take a `Value *` instead of an `MDNode *`. This is part of PR21433. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221359 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h index be0f54974fd..db072ca6616 100644 --- a/include/llvm/IR/Metadata.h +++ b/include/llvm/IR/Metadata.h @@ -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; diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp index 0b3376c9e9c..3806fe4fd4e 100644 --- a/lib/IR/Metadata.cpp +++ b/lib/IR/Metadata.cpp @@ -578,7 +578,8 @@ MDNode *NamedMDNode::getOperand(unsigned i) const { return &*getNMDOps(Operands)[i]; } -void NamedMDNode::addOperand(MDNode *M) { +void NamedMDNode::addOperand(Value *V) { + auto *M = cast(V); assert(!M->isFunctionLocal() && "NamedMDNode operands must not be function-local!"); getNMDOps(Operands).push_back(TrackingVH(M));