MLIR-AIE
AIEXDialect.h
Go to the documentation of this file.
1//===- AIEDialect.h ---------------------------------------------*- C++ -*-===//
2//
3// This file is licensed under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7// (c) Copyright 2019 Xilinx Inc.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef MLIR_AIEX_DIALECT_H
12#define MLIR_AIEX_DIALECT_H
13
15
16// Include dialect declarations such as parseAttributes, parseType
17#include "aie/Dialect/AIEX/IR/AIEXDialect.h.inc"
18
19// include TableGen generated Op definitions
20#define GET_OP_CLASSES
21#include "aie/Dialect/AIEX/IR/AIEX.h.inc"
22
23#define GET_TYPEDEF_CLASSES
24#include "aie/Dialect/AIEX/IR/AIEXTypes.h.inc"
25
26namespace xilinx {
27namespace AIEX {
28
30 const AIE::AIETargetModel &tm, unsigned bd_id, unsigned col, unsigned row);
31void getHardwareStridesWraps(const AIE::AIETargetModel &targetModel,
32 mlir::BaseMemRefType referencedBufType,
33 llvm::SmallVector<int64_t, 4> inputSizes,
34 llvm::SmallVector<int64_t, 4> inputStrides,
35 llvm::SmallVector<int64_t, 4> &sizes,
36 llvm::SmallVector<int64_t, 4> &strides);
37mlir::LogicalResult
38verifyStridesWraps(mlir::Operation *forOp,
39 mlir::BaseMemRefType referencedBufType, int tileCol,
40 int tileRow, llvm::SmallVector<int64_t, 4> inputSizes,
41 llvm::SmallVector<int64_t, 4> inputStrides,
42 llvm::SmallVector<int64_t, 4> hardwareSizes,
43 llvm::SmallVector<int64_t, 4> hardwareStrides,
44 bool skipTransformationChecks = false);
45
46} // namespace AIEX
47} // namespace xilinx
48
49#endif
void getHardwareStridesWraps(const AIE::AIETargetModel &targetModel, mlir::BaseMemRefType referencedBufType, llvm::SmallVector< int64_t, 4 > inputSizes, llvm::SmallVector< int64_t, 4 > inputStrides, llvm::SmallVector< int64_t, 4 > &sizes, llvm::SmallVector< int64_t, 4 > &strides)
uint64_t getBufferDescriptorAddressRegisterAddress(const AIE::AIETargetModel &tm, unsigned bd_id, unsigned col, unsigned row)
mlir::LogicalResult verifyStridesWraps(mlir::Operation *forOp, mlir::BaseMemRefType referencedBufType, int tileCol, int tileRow, llvm::SmallVector< int64_t, 4 > inputSizes, llvm::SmallVector< int64_t, 4 > inputStrides, llvm::SmallVector< int64_t, 4 > hardwareSizes, llvm::SmallVector< int64_t, 4 > hardwareStrides, bool skipTransformationChecks=false)