summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-29 05:36:05 +0000
committerChris Lattner <sabre@nondot.org>2003-08-29 05:36:05 +0000
commit6ac02a909256c6c0481e57c4a41e53e4007e69b2 (patch)
tree859266d0b248a0bdcca240f9d22e868b0977701b
parent205f9fce19586ffe3d3cb23d8d01ab9ca74b2a97 (diff)
downloadllvm-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.h3
-rw-r--r--include/llvm/Constants.h12
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) {