diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-07-14 22:46:32 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-07-14 22:46:32 +0000 |
commit | 4a717d4a478ec40eb3b42078843af2291203ea21 (patch) | |
tree | 0645f1fa4f3d2294d773d18913311db2000c9aea /include/llvm/Constant.h | |
parent | 37d0e7e3fe32897bef05fc479eefc0b1840540b8 (diff) | |
download | external_llvm-4a717d4a478ec40eb3b42078843af2291203ea21.zip external_llvm-4a717d4a478ec40eb3b42078843af2291203ea21.tar.gz external_llvm-4a717d4a478ec40eb3b42078843af2291203ea21.tar.bz2 |
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/Constant.h')
-rw-r--r-- | include/llvm/Constant.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Constant.h b/include/llvm/Constant.h index 572d1d1..36a26d7 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 |