.. _program_listing_file_include_laksa-mlir-c_Dialect_EmitHLS.h: Program Listing for File EmitHLS.h ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/laksa-mlir-c/Dialect/EmitHLS.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp //===----- EmitHLS.h - C API for EmitHLS dialect ------------------*- C -*-===// // // @author Jiahong Bi (jiahong.bi@tu-dresden.de) //===----------------------------------------------------------------------===// #ifndef LAKSA_MLIR_C_DIALECT_EMITHLS_H #define LAKSA_MLIR_C_DIALECT_EMITHLS_H #include "mlir-c/IR.h" #include "mlir-c/Support.h" #ifdef __cplusplus extern "C" { #endif MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(EmitHLS, emithls); //===---------------------------------------------------------------------===// // StreamType //===---------------------------------------------------------------------===// MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitHLSStreamType(MlirType type); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSStreamTypeGet(MlirType elementType); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSStreamTypeGetElementType(MlirType type); //===---------------------------------------------------------------------===// // PointerType //===---------------------------------------------------------------------===// MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitHLSPointerType(MlirType type); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSPointerTypeGet(MlirType elementType); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSPointerTypeGetElementType(MlirType type); //===---------------------------------------------------------------------===// // ArrayType //===---------------------------------------------------------------------===// MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitHLSArrayType(MlirType type); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSArrayTypeGet( intptr_t rank, const int64_t* shape, MlirType elementType); MLIR_CAPI_EXPORTED intptr_t mlirEmitHLSArrayTypeGetRank(MlirType type); MLIR_CAPI_EXPORTED int64_t mlirEmitHLSArrayTypeGetDimSize(MlirType type, intptr_t dim); MLIR_CAPI_EXPORTED MlirType mlirEmitHLSArrayTypeGetElementType(MlirType type); //===---------------------------------------------------------------------===// // Translation //===---------------------------------------------------------------------===// MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToCpp( MlirOperation op, MlirStringCallback callback, void* userData); MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToHLSTcl( MlirOperation op, MlirStringCallback callback, void* userData); MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToKriaDtsi( MlirOperation op, MlirStringCallback callback, void* userData); MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToLaksaApp( MlirOperation op, MlirStringCallback callback, void* userData); MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToLaksaHeader( MlirOperation op, MlirStringCallback callback, void* userData); MLIR_CAPI_EXPORTED MlirLogicalResult mlirTranslateEmitHLSToVivadoTcl( MlirOperation op, MlirStringCallback callback, void* userData); #ifdef __cplusplus } #endif //===---------------------------------------------------------------------===// // Pass Registration //===---------------------------------------------------------------------===// #include "laksa-mlir/Dialect/EmitHLS/Transforms/Passes.capi.h.inc" #ifdef __cplusplus extern "C" { #endif // Creates an "emithls-pragma-dse" pass with explicit BRAM/DSP budgets MLIR_CAPI_EXPORTED MlirPass mlirCreateEmitHLSEmitHLSPragmaDSEWithOptions( int64_t availableBRAM, int64_t availableDSP); #ifdef __cplusplus } #endif #endif