22 "Kernel attributes are attached/belong only to OpenCL kernel functions");
26 if (
Node && ArgIdx < Node->getNumOperands())
38 unsigned MDArgIdx = ArgIdx + 1;
40 F.getParent()->getNamedMetadata(
"opencl.kernels");
48 bool FoundLoweredKernelFunction =
false;
53 FoundLoweredKernelFunction =
true;
56 if (MaybeValue && FoundLoweredKernelFunction)
60 if (FoundLoweredKernelFunction && MaybeNode &&
63 MDArgIdx < MaybeNode->getNumOperands())
74 "Kernel attributes are attached/belong only to OpenCL kernel functions");
81 "Kernel attributes are attached/belong only to OpenCL kernel functions");
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
const MDOperand & getOperand(unsigned I) const
ArrayRef< MDOperand > operands() const
Tracking metadata reference owned by Metadata.
LLVM_ABI MDNode * getOperand(unsigned i) const
LLVM_ABI unsigned getNumOperands() const
StringRef - Represent a constant reference to a string, i.e.
@ SPIR_KERNEL
Used for SPIR kernel functions.
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
MDString * getOCLKernelArgAccessQual(const Function &F, unsigned ArgIdx)
MDString * getOCLKernelArgTypeQual(const Function &F, unsigned ArgIdx)
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.