diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-29 05:36:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-29 05:36:05 +0000 |
commit | 6ac02a909256c6c0481e57c4a41e53e4007e69b2 (patch) | |
tree | 859266d0b248a0bdcca240f9d22e868b0977701b | |
parent | 205f9fce19586ffe3d3cb23d8d01ab9ca74b2a97 (diff) | |
download | llvm-6ac02a909256c6c0481e57c4a41e53e4007e69b2.tar.gz llvm-6ac02a909256c6c0481e57c4a41e53e4007e69b2.tar.bz2 llvm-6ac02a909256c6c0481e57c4a41e53e4007e69b2.tar.xz |
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
-rw-r--r-- | include/llvm/Constant.h | 3 | ||||
-rw-r--r-- | 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 a7ec6331bd..e6f63b1292 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 04e4397531..f36e28bd44 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) { |