Program Listing for File EmitHLS.h
↰ Return to documentation for file (include/laksa-mlir-c/Dialect/EmitHLS.h)
//===----- 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