| // Copyright 2021 The IREE Authors |
| // |
| // Licensed under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| #ifndef IREE_COMPILER_PLUGINS_INPUT_TOSA_INPUTCONVERSION_PASSES |
| #define IREE_COMPILER_PLUGINS_INPUT_TOSA_INPUTCONVERSION_PASSES |
| |
| include "mlir/Pass/PassBase.td" |
| |
| def Converti48Toi64Pass : |
| InterfacePass<"iree-tosa-convert-i48-to-i64", "mlir::FunctionOpInterface"> { |
| let summary = "Converts all i48s to i64s"; |
| } |
| |
| def StripSignednessPass : |
| InterfacePass<"iree-tosa-strip-signedness", "mlir::FunctionOpInterface"> { |
| let summary = "Legalizes ui tensors constants to uis"; |
| } |
| |
| def TosaToLinalgExtPass : |
| InterfacePass<"iree-tosa-to-linalg-ext", "mlir::FunctionOpInterface"> { |
| let summary = "Convert TOSA operations to their equivalent linalg-ext operations."; |
| let dependentDialects = [ |
| "arith::ArithDialect", |
| "linalg::LinalgDialect", |
| "tensor::TensorDialect", |
| "IREE::LinalgExt::IREELinalgExtDialect", |
| ]; |
| } |
| |
| def VerifyCompilerTOSAInputLegalityPass : |
| Pass<"iree-tosa-verify-compiler-input-legality", "ModuleOp"> { |
| let summary = "Verifies that only supported IR constructs are passed to the compiler."; |
| } |
| |
| #endif // IREE_COMPILER_PLUGINS_INPUT_TOSA_INPUTCONVERSION_PASSES |