1 //===-- mlir-c/Dialect/GPU.h - C API for GPU dialect -------------*- C -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM 4 // Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===---------------------------------------------------------------------===// 9 10 #ifndef MLIR_C_DIALECT_GPU_H 11 #define MLIR_C_DIALECT_GPU_H 12 13 #include "mlir-c/IR.h" 14 #include "mlir-c/Support.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(GPU, gpu); 21 22 //===-------------------------------------------------------------------===// 23 // AsyncTokenType 24 //===-------------------------------------------------------------------===// 25 26 MLIR_CAPI_EXPORTED bool mlirTypeIsAGPUAsyncTokenType(MlirType type); 27 28 MLIR_CAPI_EXPORTED MlirType mlirGPUAsyncTokenTypeGet(MlirContext ctx); 29 30 //===---------------------------------------------------------------------===// 31 // ObjectAttr 32 //===---------------------------------------------------------------------===// 33 34 MLIR_CAPI_EXPORTED bool mlirAttributeIsAGPUObjectAttr(MlirAttribute attr); 35 36 MLIR_CAPI_EXPORTED MlirAttribute 37 mlirGPUObjectAttrGet(MlirContext mlirCtx, MlirAttribute target, uint32_t format, 38 MlirStringRef objectStrRef, MlirAttribute mlirObjectProps); 39 40 MLIR_CAPI_EXPORTED MlirAttribute mlirGPUObjectAttrGetWithKernels( 41 MlirContext mlirCtx, MlirAttribute target, uint32_t format, 42 MlirStringRef objectStrRef, MlirAttribute mlirObjectProps, 43 MlirAttribute mlirKernelsAttr); 44 45 MLIR_CAPI_EXPORTED MlirAttribute 46 mlirGPUObjectAttrGetTarget(MlirAttribute mlirObjectAttr); 47 48 MLIR_CAPI_EXPORTED uint32_t 49 mlirGPUObjectAttrGetFormat(MlirAttribute mlirObjectAttr); 50 51 MLIR_CAPI_EXPORTED MlirStringRef 52 mlirGPUObjectAttrGetObject(MlirAttribute mlirObjectAttr); 53 54 MLIR_CAPI_EXPORTED bool 55 mlirGPUObjectAttrHasProperties(MlirAttribute mlirObjectAttr); 56 57 MLIR_CAPI_EXPORTED MlirAttribute 58 mlirGPUObjectAttrGetProperties(MlirAttribute mlirObjectAttr); 59 60 MLIR_CAPI_EXPORTED bool 61 mlirGPUObjectAttrHasKernels(MlirAttribute mlirObjectAttr); 62 63 MLIR_CAPI_EXPORTED MlirAttribute 64 mlirGPUObjectAttrGetKernels(MlirAttribute mlirObjectAttr); 65 66 #ifdef __cplusplus 67 } 68 #endif 69 70 #include "mlir/Dialect/GPU/Transforms/Passes.capi.h.inc" 71 72 #endif // MLIR_C_DIALECT_GPU_H 73