MLIR 22.0.0git
Transforms.h
Go to the documentation of this file.
1//===- Transforms.h - Async dialect transformation 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 defines transformations on Async operations.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_DIALECT_ASYNC_TRANSFORMS_H_
14#define MLIR_DIALECT_ASYNC_TRANSFORMS_H_
15
18
19namespace mlir {
20namespace async {
21
22/// Emit the IR to compute the minimum number of iterations of scf.parallel body
23/// that would be viable for a single parallel task. Allows the user to avoid
24/// incurring the overheads of spawning costly parallel tasks in absence of
25/// sufficient amount of parallelizable work.
26///
27/// Must return an index type.
29 std::function<Value(ImplicitLocOpBuilder, scf::ParallelOp)>;
30
31/// Add a pattern to the given pattern list to lower scf.parallel to async
32/// operations.
34 RewritePatternSet &patterns, bool asyncDispatch, int32_t numWorkerThreads,
35 const AsyncMinTaskSizeComputationFunction &computeMinTaskSize);
36
37} // namespace async
38} // namespace mlir
39
40#endif // MLIR_DIALECT_ASYNC_TRANSFORMS_H_
ImplicitLocOpBuilder maintains a 'current location', allowing use of the create<> method without spec...
Definition Builders.h:630
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Definition Value.h:96
void populateAsyncParallelForPatterns(RewritePatternSet &patterns, bool asyncDispatch, int32_t numWorkerThreads, const AsyncMinTaskSizeComputationFunction &computeMinTaskSize)
Add a pattern to the given pattern list to lower scf.parallel to async operations.
std::function< Value(ImplicitLocOpBuilder, scf::ParallelOp)> AsyncMinTaskSizeComputationFunction
Emit the IR to compute the minimum number of iterations of scf.parallel body that would be viable for...
Definition Transforms.h:28
Include the generated interface declarations.
const FrozenRewritePatternSet & patterns