CIRCT 22.0.0git
Loading...
Searching...
No Matches
GenericReductions.h
Go to the documentation of this file.
1//===- GenericReductions.h - Generic reduction patterns ---------*- 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 CIRCT_REDUCE_GENERICREDUCTIONS_H
10#define CIRCT_REDUCE_GENERICREDUCTIONS_H
11
13#include <optional>
14
15namespace circt {
16
17/// Populate reduction patterns that are not specific to certain operations or
18/// dialects.
19///
20/// The optional `maxNumRewrites` parameter allows callers to override the
21/// greedy rewrite budget used by reductions that rely on the canonicalizer
22/// pass.
24 MLIRContext *context, ReducePatternSet &patterns,
25 std::optional<int64_t> maxNumRewrites = std::nullopt);
26
27} // namespace circt
28
29#endif // CIRCT_REDUCE_GENERICREDUCTIONS_H
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
void populateGenericReducePatterns(MLIRContext *context, ReducePatternSet &patterns, std::optional< int64_t > maxNumRewrites=std::nullopt)
Populate reduction patterns that are not specific to certain operations or dialects.