From 11a6d824472aa9502157d7df6f36180da02cebb7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 13 Oct 2001 06:23:14 +0000 Subject: [PATCH] Add support for indirect calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@742 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/iOther.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/include/llvm/iOther.h b/include/llvm/iOther.h index 1351e71cea0..52d75629e7c 100644 --- a/include/llvm/iOther.h +++ b/include/llvm/iOther.h @@ -138,21 +138,24 @@ public: class CallInst : public Instruction { CallInst(const CallInst &CI); public: - CallInst(Method *M, const vector ¶ms, const string &Name = ""); + CallInst(Value *Meth, const vector ¶ms, const string &Name = ""); virtual const char *getOpcodeName() const { return "call"; } virtual Instruction *clone() const { return new CallInst(*this); } bool hasSideEffects() const { return true; } - const Method *getCalledMethod() const { - return cast(Operands[0]); + return dyn_cast(Operands[0]); } Method *getCalledMethod() { - return cast(Operands[0]); + return dyn_cast(Operands[0]); } + // getCalledValue - Get a pointer to a method that is invoked by this inst. + inline const Value *getCalledValue() const { return Operands[0]; } + inline Value *getCalledValue() { return Operands[0]; } + // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const CallInst *) { return true; } static inline bool classof(const Instruction *I) {