MLIR  20.0.0git
Transforms.h
Go to the documentation of this file.
1 //===- Transforms.h - ArmSME 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_ARMSME_TRANSFORMS_H
10 #define MLIR_DIALECT_ARMSME_TRANSFORMS_H
11 
13 
14 namespace mlir {
15 
16 class LLVMConversionTarget;
17 class LLVMTypeConverter;
18 class RewritePatternSet;
19 
20 namespace arm_sme {
21 
22 void populateOuterProductFusionPatterns(RewritePatternSet &patterns);
23 
24 /// Allocate tile IDs to all ArmSME operations in a function. Requires the
25 /// function to be lowered to control flow (cf dialect).
26 LogicalResult allocateSMETiles(FunctionOpInterface function,
27  bool dumpRanges = false);
28 
29 } // namespace arm_sme
30 
31 } // namespace mlir
32 
33 #endif // MLIR_DIALECT_ARMSME_TRANSFORMS_H
LogicalResult allocateSMETiles(FunctionOpInterface function, bool dumpRanges=false)
Allocate tile IDs to all ArmSME operations in a function.
void populateOuterProductFusionPatterns(RewritePatternSet &patterns)
Include the generated interface declarations.