MLIR 23.0.0git
mlir::SCFTileAndFuseOptions Struct Reference

Options used to control tile + fuse. More...

#include "mlir/Dialect/SCF/Transforms/TileUsingInterface.h"

Classes

struct  ControlFnResult
 Control function to check if a slice needs to be fused or not, The control function receives 1) the slice along which fusion is to be done, 2) the producer value that is to be fused 3) a boolean value set to true if the fusion is from a destination operand. More...

Public Types

using ControlFnTy

Public Member Functions

SCFTileAndFuseOptionssetTilingOptions (SCFTilingOptions options)
SCFTileAndFuseOptionssetFusionControlFn (ControlFnTy controlFn)

Public Attributes

SCFTilingOptions tilingOptions
 The tiling options used to control the tiling of the consumer.
ControlFnTy fusionControlFn
 The default control function implements greedy fusion without yielding a replacement for any of the fused results.
std::optional< FrozenRewritePatternSetcleanupPatterns = std::nullopt
 An optional set of rewrite patterns to apply to the results of tiling before fusion.

Detailed Description

Options used to control tile + fuse.

Definition at line 279 of file TileUsingInterface.h.

Member Typedef Documentation

◆ ControlFnTy

Initial value:
std::function<std::optional<ControlFnResult>(
tensor::ExtractSliceOp candidateSliceOp, OpResult originalProducer,
bool isDestinationOperand)>
This is a value defined by a result of an operation.
Definition Value.h:454

Definition at line 301 of file TileUsingInterface.h.

Member Function Documentation

◆ setFusionControlFn()

SCFTileAndFuseOptions & mlir::SCFTileAndFuseOptions::setFusionControlFn ( ControlFnTy controlFn)
inline

Definition at line 310 of file TileUsingInterface.h.

References fusionControlFn.

◆ setTilingOptions()

SCFTileAndFuseOptions & mlir::SCFTileAndFuseOptions::setTilingOptions ( SCFTilingOptions options)
inline

Definition at line 282 of file TileUsingInterface.h.

References options, and tilingOptions.

Member Data Documentation

◆ cleanupPatterns

std::optional<FrozenRewritePatternSet> mlir::SCFTileAndFuseOptions::cleanupPatterns = std::nullopt

An optional set of rewrite patterns to apply to the results of tiling before fusion.

This will track deleted and newly inserted tensor.extract_slice ops and update the worklist.

Definition at line 318 of file TileUsingInterface.h.

◆ fusionControlFn

ControlFnTy mlir::SCFTileAndFuseOptions::fusionControlFn
Initial value:
= [](tensor::ExtractSliceOp, OpResult,
bool) -> std::optional<ControlFnResult> {
return ControlFnResult{};
}
Control function to check if a slice needs to be fused or not, The control function receives 1) the s...

The default control function implements greedy fusion without yielding a replacement for any of the fused results.

Definition at line 306 of file TileUsingInterface.h.

Referenced by setFusionControlFn().

◆ tilingOptions

SCFTilingOptions mlir::SCFTileAndFuseOptions::tilingOptions

The tiling options used to control the tiling of the consumer.

Definition at line 281 of file TileUsingInterface.h.

Referenced by setTilingOptions().


The documentation for this struct was generated from the following file: