diff --git a/llvm/include/llvm/IR/IntrinsicInst.h b/llvm/include/llvm/IR/IntrinsicInst.h --- a/llvm/include/llvm/IR/IntrinsicInst.h +++ b/llvm/include/llvm/IR/IntrinsicInst.h @@ -752,6 +752,8 @@ } MaybeAlign getDestAlign() const { return getParamAlign(ARG_DEST); } + Type *getDestElementType() const { return getParamElementType(ARG_DEST); } + /// Set the specified arguments of the instruction. void setDest(Value *Ptr) { assert(getRawDest()->getType() == Ptr->getType() && @@ -820,6 +822,8 @@ return BaseCL::getParamAlign(ARG_SOURCE); } + Type *getSourceElementType() const { return getParamElementType(ARG_SOURCE); } + void setSource(Value *Ptr) { assert(getRawSource()->getType() == Ptr->getType() && "setSource called with pointer of wrong type!");