summaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2002-07-14 22:46:32 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2002-07-14 22:46:32 +0000
commit4a717d4a478ec40eb3b42078843af2291203ea21 (patch)
tree0645f1fa4f3d2294d773d18913311db2000c9aea /include/llvm
parent37d0e7e3fe32897bef05fc479eefc0b1840540b8 (diff)
downloadllvm-4a717d4a478ec40eb3b42078843af2291203ea21.tar.gz
llvm-4a717d4a478ec40eb3b42078843af2291203ea21.tar.bz2
llvm-4a717d4a478ec40eb3b42078843af2291203ea21.tar.xz
Add a couple of virtual functions to support subclass ConstantExpr.
Note that a ConstantExpr can be of any type, so classof() in most other subclasses (that discriminate by type) have to check that it is also not a ConstantExpr. This is why isConstantExpr() is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2890 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/Constant.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Constant.h b/include/llvm/Constant.h
index 572d1d15ca..36a26d7f25 100644
--- a/include/llvm/Constant.h
+++ b/include/llvm/Constant.h
@@ -37,11 +37,20 @@ public:
virtual void print(std::ostream &O) const;
+ // isConstantExpr - Return true if this is a ConstantExpr
+ virtual bool isConstantExpr() const { return false; }
+
// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const Constant *) { return true; }
static inline bool classof(const Value *V) {
return V->getValueType() == Value::ConstantVal;
}
+
+ // WARNING: Only to be used by Bytecode & Assembly Parsers! USER CODE SHOULD
+ // NOT USE THIS!!
+ // Returns the number of uses of OldV that were replaced.
+ virtual unsigned mutateReferences(Value* OldV, Value *NewV) { return 0; }
+ // END WARNING!!
};
#endif