1 //===-- mlir-c/Dialect/GPU.h - C API for GPU dialect -------------*- C -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===---------------------------------------------------------------------===//
10 #ifndef MLIR_C_DIALECT_GPU_H
11 #define MLIR_C_DIALECT_GPU_H
13 #include "mlir-c/IR.h"
14 #include "mlir-c/Support.h"
20 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(GPU
, gpu
);
22 //===-------------------------------------------------------------------===//
24 //===-------------------------------------------------------------------===//
26 MLIR_CAPI_EXPORTED
bool mlirTypeIsAGPUAsyncTokenType(MlirType type
);
28 MLIR_CAPI_EXPORTED MlirType
mlirGPUAsyncTokenTypeGet(MlirContext ctx
);
30 //===---------------------------------------------------------------------===//
32 //===---------------------------------------------------------------------===//
34 MLIR_CAPI_EXPORTED
bool mlirAttributeIsAGPUObjectAttr(MlirAttribute attr
);
36 MLIR_CAPI_EXPORTED MlirAttribute
37 mlirGPUObjectAttrGet(MlirContext mlirCtx
, MlirAttribute target
, uint32_t format
,
38 MlirStringRef objectStrRef
, MlirAttribute mlirObjectProps
);
40 MLIR_CAPI_EXPORTED MlirAttribute
mlirGPUObjectAttrGetWithKernels(
41 MlirContext mlirCtx
, MlirAttribute target
, uint32_t format
,
42 MlirStringRef objectStrRef
, MlirAttribute mlirObjectProps
,
43 MlirAttribute mlirKernelsAttr
);
45 MLIR_CAPI_EXPORTED MlirAttribute
46 mlirGPUObjectAttrGetTarget(MlirAttribute mlirObjectAttr
);
48 MLIR_CAPI_EXPORTED
uint32_t
49 mlirGPUObjectAttrGetFormat(MlirAttribute mlirObjectAttr
);
51 MLIR_CAPI_EXPORTED MlirStringRef
52 mlirGPUObjectAttrGetObject(MlirAttribute mlirObjectAttr
);
54 MLIR_CAPI_EXPORTED
bool
55 mlirGPUObjectAttrHasProperties(MlirAttribute mlirObjectAttr
);
57 MLIR_CAPI_EXPORTED MlirAttribute
58 mlirGPUObjectAttrGetProperties(MlirAttribute mlirObjectAttr
);
60 MLIR_CAPI_EXPORTED
bool
61 mlirGPUObjectAttrHasKernels(MlirAttribute mlirObjectAttr
);
63 MLIR_CAPI_EXPORTED MlirAttribute
64 mlirGPUObjectAttrGetKernels(MlirAttribute mlirObjectAttr
);
70 #include "mlir/Dialect/GPU/Transforms/Passes.capi.h.inc"
72 #endif // MLIR_C_DIALECT_GPU_H