xref: /llvm-project/mlir/include/mlir/Dialect/AMX/Transforms.h (revision 2f743ac52e945e155ff3cb1f8ca5287b306b831e)
1 //===- Transforms.h - AMX Dialect Transformation Entrypoints ----*- C++ -*-===//
2 //
3 // Part of the LLVM Project, 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 //===----------------------------------------------------------------------===//
8 
9 #ifndef MLIR_DIALECT_AMX_TRANSFORMS_H
10 #define MLIR_DIALECT_AMX_TRANSFORMS_H
11 
12 namespace mlir {
13 
14 class LLVMConversionTarget;
15 class LLVMTypeConverter;
16 class RewritePatternSet;
17 class DialectRegistry;
18 
19 /// Collect a set of patterns to lower AMX ops to ops that map to LLVM
20 /// intrinsics.
21 void populateAMXLegalizeForLLVMExportPatterns(LLVMTypeConverter &converter,
22                                               RewritePatternSet &patterns);
23 
24 /// Configure the target to support lowering AMX ops to ops that map to LLVM
25 /// intrinsics.
26 void configureAMXLegalizeForExportTarget(LLVMConversionTarget &target);
27 
28 /// Register LLVM conversion interface for AMX dialect.
29 void registerConvertAMXToLLVMInterface(DialectRegistry &registry);
30 
31 } // namespace mlir
32 
33 #endif // MLIR_DIALECT_AMX_TRANSFORMS_H
34