From 00a658dcdc560e793939fdc08d34a52f7ee26d79 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 19 Jan 2015 19:35:21 +0000 Subject: [PATCH] IR: Move replaceAllUsesWith() back up to MDNode Move `MDNodeFwdDecl::replaceAllUsesWith()` back up to `MDNode`, but assert `isTemporary()`. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226495 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/Metadata.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h index a7fc7b7e51e..5371efba122 100644 --- a/include/llvm/IR/Metadata.h +++ b/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); - } }; //===----------------------------------------------------------------------===// -- 2.11.0