From: Chris Lattner Date: Sat, 8 Dec 2007 04:37:52 +0000 (+0000) Subject: Implement correct isa, problem reported by "ST". X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=edfd10de873a424a8516a6dbf5feb8168efc462d;p=oota-llvm.git Implement correct isa, problem reported by "ST". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44697 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/InstrTypes.h b/include/llvm/InstrTypes.h index 22ad342d7fb..a6a8fff40ce 100644 --- a/include/llvm/InstrTypes.h +++ b/include/llvm/InstrTypes.h @@ -108,6 +108,20 @@ public: Op = Val; } unsigned getNumOperands() const { return 1; } + + // Methods for support type inquiry through isa, cast, and dyn_cast: + static inline bool classof(const UnaryInstruction *) { return true; } + static inline bool classof(const Instruction *I) { + return I->getOpcode() == Instruction::Malloc || + I->getOpcode() == Instruction::Alloca || + I->getOpcode() == Instruction::Free || + I->getOpcode() == Instruction::Load || + I->getOpcode() == Instruction::VAArg || + (I->getOpcode() >= CastOpsBegin && I->getOpcode() < CastOpsEnd); + } + static inline bool classof(const Value *V) { + return isa(V) && classof(cast(V)); + } }; //===----------------------------------------------------------------------===//