diff options
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/IR/Value.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/Value.h b/llvm/include/llvm/IR/Value.h index b5c1b85fa8b..94dd6a4f34b 100644 --- a/llvm/include/llvm/IR/Value.h +++ b/llvm/include/llvm/IR/Value.h @@ -239,6 +239,7 @@ public: private: void destroyValueName(); + void doRAUW(Value *New, bool NoMetadata); void setNameImpl(const Twine &Name); public: @@ -269,6 +270,12 @@ public: /// guaranteed to be empty. void replaceAllUsesWith(Value *V); + /// \brief Change non-metadata uses of this to point to a new Value. + /// + /// Go through the uses list for this definition and make each use point to + /// "V" instead of "this". This function skips metadata entries in the list. + void replaceNonMetadataUsesWith(Value *V); + /// replaceUsesOutsideBlock - Go through the uses list for this definition and /// make each use point to "V" instead of "this" when the use is outside the /// block. 'This's use list is expected to have at least one element. |