diff --git a/llvm/include/llvm/iMemory.h b/llvm/include/llvm/iMemory.h index ec04b281dbc6e3b861dece8364e9db271eded5a9..7d919196deaf3285e5cd6d72e69a0fdb401ea2d6 100644 --- a/llvm/include/llvm/iMemory.h +++ b/llvm/include/llvm/iMemory.h @@ -58,6 +58,16 @@ public: } virtual Instruction *clone() const = 0; + + // Methods for support type inquiry through isa, cast, and dyn_cast: + static inline bool classof(const AllocationInst *) { return true; } + static inline bool classof(const Instruction *I) { + return I->getOpcode() == Instruction::Alloca || + I->getOpcode() == Instruction::Malloc; + } + static inline bool classof(const Value *V) { + return isa(V) && classof(cast(V)); + } };