MLIR-AIE
1.4.5.dev
lib
Dialect
AIEVec
Transforms
FoldMulAddChainToConvOp.h
Go to the documentation of this file.
1
//===--FoldMulAddChainToConvOp.h - Fold Mul Add Chain To AIEVec Conv Op --===//
2
//
3
// Copyright (C) 2022 Xilinx, Inc.
4
// Copyright (C) 2022-2024 Advanced Micro Devices, Inc.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
8
#ifndef FOLDMULADDCHAINTOCONVOP_H
9
#define FOLDMULADDCHAINTOCONVOP_H
10
11
#include "mlir/Pass/AnalysisManager.h"
12
#include "mlir/Transforms/DialectConversion.h"
13
14
namespace
xilinx
{
15
16
namespace
aievec
{
17
//===----------------------------------------------------------------------===//
18
// This is the implementation of the folding pass from mul add chain
19
// to AIEVec convolution operations, compatible with the AIE2 architecture.
20
//===----------------------------------------------------------------------===//
21
22
// Configure the legalizations for aievec conv op transformation
23
void
configureAIEVecConvOpTransformationLegalizations
(
24
mlir::ConversionTarget &target, mlir::AnalysisManager &am);
25
26
// Populate the conversion pattern by FoldMulAddChainToConvOpPattern, which
27
// folds a mul add chain into mul_conv and mac_conv.
28
void
populateAIEVecConvOpTransformationPatterns
(
29
mlir::RewritePatternSet &patterns, mlir::AnalysisManager &am,
30
unsigned
shiftParam);
31
32
}
// namespace aievec
33
}
// namespace xilinx
34
35
#endif
// FOLDMULADDCHAINTOCONVOP_H
xilinx::aievec
Definition
AIEVecToLLVM.h:23
xilinx::aievec::configureAIEVecConvOpTransformationLegalizations
void configureAIEVecConvOpTransformationLegalizations(ConversionTarget &target, AnalysisManager &am)
Definition
FoldMulAddChainToConvOp.cpp:503
xilinx::aievec::populateAIEVecConvOpTransformationPatterns
void populateAIEVecConvOpTransformationPatterns(RewritePatternSet &patterns, AnalysisManager &am, unsigned shiftParam)
Definition
FoldMulAddChainToConvOp.cpp:515
xilinx
Definition
AIEToConfiguration.h:15
Generated by
1.15.0