xref: /llvm-project/mlir/include/mlir/Transforms/CommutativityUtils.h (revision b508c5649f5e21e17e9f5633236ec61c551803af)
1 //===- CommutativityUtils.h - Commutativity utilities -----------*- 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 // This header file declares a function to populate the commutativity utility
10 // pattern. This function is intended to be used inside passes to simplify the
11 // matching of commutative operations by fixing the order of their operands.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef MLIR_TRANSFORMS_COMMUTATIVITYUTILS_H
16 #define MLIR_TRANSFORMS_COMMUTATIVITYUTILS_H
17 
18 #include "mlir/Transforms/DialectConversion.h"
19 
20 namespace mlir {
21 
22 /// Populates the commutativity utility patterns.
23 void populateCommutativityUtilsPatterns(RewritePatternSet &patterns);
24 
25 } // namespace mlir
26 
27 #endif // MLIR_TRANSFORMS_COMMUTATIVITYUTILS_H
28