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
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