MLIR-AIE 1.4.5.dev
AIEVecToLLVM.h
Go to the documentation of this file.
1//===- AIEVecToLLVM.h - AIEVec to LLVM dialect conversion -------*- C++ -*-===//
2//
3// Copyright (C) 2022 Xilinx, Inc.
4// Copyright (C) 2022-2026 Advanced Micro Devices, Inc.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef AIE_CONVERSION_AIEVECTOLLVM_AIEVECTOLLVM_H
10#define AIE_CONVERSION_AIEVECTOLLVM_AIEVECTOLLVM_H
11
12#include "mlir/IR/BuiltinOps.h"
13#include "mlir/Pass/Pass.h"
14#include <memory>
15
16namespace mlir {
17class LLVMTypeConverter;
18class RewritePatternSet;
19class ModuleOp;
20} // namespace mlir
21
22namespace xilinx {
23namespace aievec {
24
25enum class Aie2Fp32Emulation : uint32_t;
26
28 mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns,
29 Aie2Fp32Emulation aie2Fp32EmulationOption, llvm::StringRef aieTarget);
30
32 mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns);
33
35 mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns);
36
38 mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns);
39
40std::unique_ptr<mlir::OperationPass<mlir::ModuleOp>>
42} // namespace aievec
43
44// Forward declare options struct from generated code (in xilinx:: namespace)
45struct ConvertAIEVecToLLVMOptions;
46
47namespace aievec {
48std::unique_ptr<mlir::OperationPass<mlir::ModuleOp>>
50 const xilinx::ConvertAIEVecToLLVMOptions &options);
51} // namespace aievec
52} // namespace xilinx
53
54#endif // AIE_CONVERSION_AIEVECTOLLVM_AIEVECTOLLVM_H
void populateAIEVecToLLVMCommonConversionPatterns(mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns)
void populateAIEVecToLLVMAIE2ConversionPatterns(mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns)
void populateAIEVecToLLVMAIE2pConversionPatterns(mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns)
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > createConvertAIEVecToLLVMPass()
void populateAIEVecToLLVMConversionPatterns(mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns, Aie2Fp32Emulation aie2Fp32EmulationOption, llvm::StringRef aieTarget)