From 6ac02a909256c6c0481e57c4a41e53e4007e69b2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 29 Aug 2003 05:36:05 +0000 Subject: [PATCH] Allow for "unsafe" replaceAllUsesWith operatations, for use during type resolution git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8208 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Constant.h | 3 ++- include/llvm/Constants.h | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/llvm/Constant.h b/include/llvm/Constant.h index a7ec6331bd5..e6f63b12921 100644 --- a/include/llvm/Constant.h +++ b/include/llvm/Constant.h @@ -67,7 +67,8 @@ public: /// use Value::replaceAllUsesWith, which automatically dispatches to this /// method as needed. /// - virtual void replaceUsesOfWithOnConstant(Value *From, Value *To) { + virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, + bool DisableChecking = false) { // Provide a default implementation for constants (like integers) that // cannot use any other values. This cannot be called at runtime, but needs // to be here to avoid link errors. diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index 04e43975312..f36e28bd44b 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -315,7 +315,8 @@ public: } virtual void destroyConstant(); - virtual void replaceUsesOfWithOnConstant(Value *From, Value *To); + virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, + bool DisableChecking = false); /// Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const ConstantArray *) { return true; } @@ -362,7 +363,8 @@ public: } virtual void destroyConstant(); - virtual void replaceUsesOfWithOnConstant(Value *From, Value *To); + virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, + bool DisableChecking = false); /// Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const ConstantStruct *) { return true; } @@ -456,7 +458,8 @@ public: } virtual void destroyConstant(); - virtual void replaceUsesOfWithOnConstant(Value *From, Value *To); + virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, + bool DisableChecking = false); /// Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const ConstantPointerRef *) { return true; } @@ -526,7 +529,8 @@ public: virtual bool isConstantExpr() const { return true; } virtual void destroyConstant(); - virtual void replaceUsesOfWithOnConstant(Value *From, Value *To); + virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, + bool DisableChecking = false); /// Override methods to provide more type information... inline Constant *getOperand(unsigned i) { -- 2.34.1