From: Duncan P. N. Exon Smith Date: Mon, 19 Jan 2015 19:35:21 +0000 (+0000) Subject: IR: Move replaceAllUsesWith() back up to MDNode X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=290c07e7a87028a85ebe34157fbb639a0a05c4c6;p=platform%2Fupstream%2Fllvm.git IR: Move replaceAllUsesWith() back up to MDNode Move `MDNodeFwdDecl::replaceAllUsesWith()` back up to `MDNode`, but assert `isTemporary()`. llvm-svn: 226495 --- diff --git a/llvm/include/llvm/IR/Metadata.h b/llvm/include/llvm/IR/Metadata.h index a7fc7b7..5371efb 100644 --- a/llvm/include/llvm/IR/Metadata.h +++ b/llvm/include/llvm/IR/Metadata.h @@ -734,6 +734,15 @@ public: bool isDistinct() const { return Storage == Distinct; } bool isTemporary() const { return Storage == Temporary; } + /// \brief RAUW a temporary. + /// + /// \pre \a isTemporary() must be \c true. + void replaceAllUsesWith(Metadata *MD) { + assert(isTemporary() && "Expected temporary node"); + assert(!isResolved() && "Expected RAUW support"); + Context.getReplaceableUses()->replaceAllUsesWith(MD); + } + protected: /// \brief Set an operand. /// @@ -971,11 +980,6 @@ public: static bool classof(const Metadata *MD) { return MD->getMetadataID() == MDNodeFwdDeclKind; } - - void replaceAllUsesWith(Metadata *MD) { - assert(Context.hasReplaceableUses() && "Expected RAUW support"); - Context.getReplaceableUses()->replaceAllUsesWith(MD); - } }; //===----------------------------------------------------------------------===//