15#include "mlir/IR/Attributes.h"
16#include "mlir/IR/Diagnostics.h"
17#include "llvm/ADT/STLExtras.h"
26LogicalResult OpenCLKernelArgMetadataAttr::verify(
27 function_ref<InFlightDiagnostic()> emitError, ArrayAttr addrSpaces,
28 ArrayAttr accessQuals, ArrayAttr types, ArrayAttr baseTypes,
29 ArrayAttr typeQuals, ArrayAttr argNames) {
31 baseTypes, typeQuals, argNames},
33 return !
attr ||
attr.size() == addrSpaces.size();
35 return emitError() <<
"all arrays must have the same number of elements";
45OpenCLVersionAttr::verify(function_ref<InFlightDiagnostic()> emitError,
48 return emitError() <<
"OpenCL major version must be positive";
50 return emitError() <<
"OpenCL minor version must be non-negative";
const internal::VariadicAllOfMatcher< Attr > attr