MLIR-AIE
Dialects.h
Go to the documentation of this file.
1//===- Dialects.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_DIALECTS_H
9#define AIE_C_DIALECTS_H
10
11#include "mlir-c/IR.h"
12#include <string>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
21
22//===---------------------------------------------------------------------===//
23// ObjectFifoType
24//===---------------------------------------------------------------------===//
25
26MLIR_CAPI_EXPORTED bool aieTypeIsObjectFifoType(MlirType type);
27MLIR_CAPI_EXPORTED MlirType aieObjectFifoTypeGet(MlirType type);
28
29//===---------------------------------------------------------------------===//
30// ObjectFifoSubviewType
31//===---------------------------------------------------------------------===//
32
33MLIR_CAPI_EXPORTED bool aieTypeIsObjectFifoSubviewType(MlirType type);
34MLIR_CAPI_EXPORTED MlirType aieObjectFifoSubviewTypeGet(MlirType type);
35
36//===---------------------------------------------------------------------===//
37// BlockFloatType
38//===---------------------------------------------------------------------===//
39
40MLIR_CAPI_EXPORTED bool aieTypeIsBlockFloatType(MlirType type);
41MLIR_CAPI_EXPORTED MlirType aieBlockFloatTypeGet(MlirContext ctx,
42 const std::string &blockType);
43
44//===---------------------------------------------------------------------===//
45// TileLike Interface
46//===---------------------------------------------------------------------===//
47
48MLIR_CAPI_EXPORTED bool aieOpImplementsTileLike(MlirOperation op);
49MLIR_CAPI_EXPORTED bool aieTileLikeIsCoreTile(MlirOperation op);
50MLIR_CAPI_EXPORTED bool aieTileLikeIsMemTile(MlirOperation op);
51MLIR_CAPI_EXPORTED bool aieTileLikeIsShimNOCTile(MlirOperation op);
52MLIR_CAPI_EXPORTED bool aieTileLikeIsShimPLTile(MlirOperation op);
53MLIR_CAPI_EXPORTED bool aieTileLikeIsShimNOCorPLTile(MlirOperation op);
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif // AIE_C_DIALECTS_H
MLIR_CAPI_EXPORTED bool aieTypeIsObjectFifoSubviewType(MlirType type)
Definition Dialects.cpp:45
MLIR_CAPI_EXPORTED bool aieTileLikeIsCoreTile(MlirOperation op)
Definition Dialects.cpp:74
MLIR_CAPI_EXPORTED MlirType aieBlockFloatTypeGet(MlirContext ctx, const std::string &blockType)
Definition Dialects.cpp:62
MLIR_CAPI_EXPORTED bool aieOpImplementsTileLike(MlirOperation op)
Definition Dialects.cpp:70
MLIR_CAPI_EXPORTED bool aieTypeIsBlockFloatType(MlirType type)
Definition Dialects.cpp:58
MLIR_CAPI_EXPORTED bool aieTileLikeIsShimPLTile(MlirOperation op)
Definition Dialects.cpp:89
MLIR_CAPI_EXPORTED MlirType aieObjectFifoSubviewTypeGet(MlirType type)
Definition Dialects.cpp:49
MLIR_CAPI_EXPORTED MlirType aieObjectFifoTypeGet(MlirType type)
Definition Dialects.cpp:36
MLIR_CAPI_EXPORTED bool aieTileLikeIsShimNOCTile(MlirOperation op)
Definition Dialects.cpp:84
MLIR_CAPI_EXPORTED bool aieTileLikeIsShimNOCorPLTile(MlirOperation op)
Definition Dialects.cpp:94
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(AIE, aie)
MLIR_CAPI_EXPORTED bool aieTypeIsObjectFifoType(MlirType type)
MLIR_CAPI_EXPORTED bool aieTileLikeIsMemTile(MlirOperation op)
Definition Dialects.cpp:79