MLIR-AIE
DialectExtension.cpp
Go to the documentation of this file.
1//===- DialectExtension.cpp -------------------------------------*- 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 2023-2024 Advanced Micro Devices, Inc. or its affiliates
8//
9//===----------------------------------------------------------------------===//
10
14
15#include "mlir/Dialect/Linalg/IR/Linalg.h"
16#include "mlir/Dialect/Transform/IR/TransformDialect.h"
17#include "mlir/Dialect/Vector/IR/VectorOps.h"
18
19using namespace mlir;
20using namespace xilinx;
21
22namespace {
23
24class AIEVecTransformDialectExtension
25 : public transform::TransformDialectExtension<
26 AIEVecTransformDialectExtension> {
27public:
28 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(AIEVecTransformDialectExtension)
29
30 using Base::Base;
31
32 void init() {
33 declareDependentDialect<linalg::LinalgDialect>();
34 declareDependentDialect<vector::VectorDialect>();
35
36 registerTransformOps<
37#define GET_OP_LIST
38#include "aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.cpp.inc"
39 >();
40 }
41};
42
43} // namespace
44
45void aievec::registerTransformDialectExtension(DialectRegistry &registry) {
46 registry.addExtensions<AIEVecTransformDialectExtension>();
47}
void registerTransformDialectExtension(mlir::DialectRegistry &registry)