MLIR  17.0.0git
Public Member Functions | Public Attributes | List of all members
mlir::scf::SCFTilingOptions Struct Reference

Options to use to control tiling. More...

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

+ Collaboration diagram for mlir::scf::SCFTilingOptions:

Public Member Functions

SCFTilingOptionssetTileSizeComputationFunction (SCFTileSizeComputationFunction fun)
 
SCFTilingOptionssetTileSizes (const SmallVector< Value, 4 > &ts)
 Set the tileSizeComputationFunction to return the values ts. More...
 
SCFTilingOptionssetTileSizes (ArrayRef< int64_t > ts)
 Convenience function to set the tileSizeComputationFunction to a function that computes tile sizes at the point they are needed. More...
 
SCFTilingOptionssetInterchange (ArrayRef< int64_t > interchange)
 

Public Attributes

SCFTileSizeComputationFunction tileSizeComputationFunction = nullptr
 Computation function that returns the tile sizes for each operation. More...
 
SmallVector< int64_t > interchangeVector = {}
 The interchange vector to reorder the tiled loops. More...
 

Detailed Description

Options to use to control tiling.

Definition at line 32 of file TileUsingInterface.h.

Member Function Documentation

◆ setInterchange()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setInterchange ( ArrayRef< int64_t >  interchange)
inline

Definition at line 57 of file TileUsingInterface.h.

References interchangeVector.

◆ setTileSizeComputationFunction()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setTileSizeComputationFunction ( SCFTileSizeComputationFunction  fun)
inline

Definition at line 39 of file TileUsingInterface.h.

References tileSizeComputationFunction.

◆ setTileSizes() [1/2]

scf::SCFTilingOptions & scf::SCFTilingOptions::setTileSizes ( ArrayRef< int64_t >  ts)

Convenience function to set the tileSizeComputationFunction to a function that computes tile sizes at the point they are needed.

Allows proper interaction with folding.

Definition at line 34 of file TileUsingInterface.cpp.

References mlir::OpBuilder::create(), mlir::OpBuilder::setInsertionPointToStart(), and tileSizeComputationFunction.

◆ setTileSizes() [2/2]

SCFTilingOptions& mlir::scf::SCFTilingOptions::setTileSizes ( const SmallVector< Value, 4 > &  ts)
inline

Set the tileSizeComputationFunction to return the values ts.

The values must not fold away when tiling. Otherwise, use a more robust tileSizeComputationFunction.

Definition at line 46 of file TileUsingInterface.h.

References tileSizeComputationFunction.

Member Data Documentation

◆ interchangeVector

SmallVector<int64_t> mlir::scf::SCFTilingOptions::interchangeVector = {}

The interchange vector to reorder the tiled loops.

Definition at line 56 of file TileUsingInterface.h.

Referenced by setInterchange().

◆ tileSizeComputationFunction

SCFTileSizeComputationFunction mlir::scf::SCFTilingOptions::tileSizeComputationFunction = nullptr

Computation function that returns the tile sizes for each operation.

Delayed construction of constant tile sizes should occur to interoperate with folding.

Definition at line 36 of file TileUsingInterface.h.

Referenced by setTileSizeComputationFunction(), and setTileSizes().


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