MLIR-AIE
Translation.h
Go to the documentation of this file.
1//===- Translation.h -------------------------------------------*- C++ -*-===//
2//
3// Copyright (C) 2022, Advanced Micro Devices, Inc. All rights reserved.
4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5//
6//===----------------------------------------------------------------------===//
7
8#ifndef AIE_C_TRANSLATION_H
9#define AIE_C_TRANSLATION_H
10
11#include "aie-c/TargetModel.h"
12
13#include "mlir-c/IR.h"
14#include "mlir-c/Support.h"
15#include "mlir/CAPI/Wrap.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21MLIR_CAPI_EXPORTED MlirStringRef aieTranslateAIEVecToCpp(MlirOperation op,
22 bool aie2);
23MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op);
24MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(MlirOperation op,
25 MlirStringRef name);
26MLIR_CAPI_EXPORTED MlirStringRef
28MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op);
29MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToHSA(MlirOperation op);
30MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col,
31 int row);
32MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules,
33 int nModules);
34MLIR_CAPI_EXPORTED MlirLogicalResult
35aieTranslateToCDODirect(MlirOperation moduleOp, MlirStringRef workDirPath,
36 bool bigEndian, bool emitUnified, bool cdoDebug,
37 bool aieSim, bool xaieDebug, bool enableCores);
38MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx,
39 MlirStringRef binary);
40
42 void *ptr;
43};
45
46MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm);
47MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl);
48MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl);
49MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col,
50 int row, size_t addr, size_t bdId);
51MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl);
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif // AIE_C_TRANSLATION_H
MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx, MlirStringRef binary)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToHSA(MlirOperation op)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(MlirOperation op, MlirStringRef name)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateControlPacketsToUI32Vec(MlirOperation op)
MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col, int row, size_t addr, size_t bdId)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op)
MLIR_CAPI_EXPORTED MlirLogicalResult aieTranslateToCDODirect(MlirOperation moduleOp, MlirStringRef workDirPath, bool bigEndian, bool emitUnified, bool cdoDebug, bool aieSim, bool xaieDebug, bool enableCores)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateAIEVecToCpp(MlirOperation op, bool aie2)
MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op)
MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules, int nModules)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col, int row)