MLIR  18.0.0git
Public Member Functions | Public Attributes | List of all members
mlir::vector::VectorTransformsOptions Struct Reference

Structure to control the behavior of vector transform patterns. More...

#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"

+ Inheritance diagram for mlir::vector::VectorTransformsOptions:

Public Member Functions

VectorTransformsOptionssetVectorTransformsOptions (VectorContractLowering opt)
 
VectorTransformsOptionssetVectorMultiReductionLowering (VectorMultiReductionLowering opt)
 
VectorTransformsOptionssetVectorTransposeLowering (VectorTransposeLowering opt)
 
VectorTransformsOptionssetVectorTransferSplit (VectorTransferSplit opt)
 
VectorTransformsOptionssetUseShapeCast (bool opt=true)
 

Public Attributes

VectorContractLowering vectorContractLowering = VectorContractLowering::Dot
 Option to control the lowering of vector.contract. More...
 
VectorMultiReductionLowering vectorMultiReductionLowering
 Option to control the lowering of vector.multi_reduction. More...
 
VectorTransposeLowering vectorTransposeLowering
 Option to control the lowering of vector.transpose. More...
 
VectorTransferSplit vectorTransferSplit = VectorTransferSplit::None
 Option to control the splitting of vector transfers. More...
 
bool useShapeCast = true
 Option to control if vector.transpose can lower to a vector.shape_cast. More...
 

Detailed Description

Structure to control the behavior of vector transform patterns.

Definition at line 32 of file VectorTransforms.h.

Member Function Documentation

◆ setUseShapeCast()

VectorTransformsOptions& mlir::vector::VectorTransformsOptions::setUseShapeCast ( bool  opt = true)
inline

Definition at line 68 of file VectorTransforms.h.

References useShapeCast.

◆ setVectorMultiReductionLowering()

VectorTransformsOptions& mlir::vector::VectorTransformsOptions::setVectorMultiReductionLowering ( VectorMultiReductionLowering  opt)
inline

◆ setVectorTransferSplit()

VectorTransformsOptions& mlir::vector::VectorTransformsOptions::setVectorTransferSplit ( VectorTransferSplit  opt)
inline

◆ setVectorTransformsOptions()

VectorTransformsOptions& mlir::vector::VectorTransformsOptions::setVectorTransformsOptions ( VectorContractLowering  opt)
inline

◆ setVectorTransposeLowering()

VectorTransformsOptions& mlir::vector::VectorTransformsOptions::setVectorTransposeLowering ( VectorTransposeLowering  opt)
inline

Member Data Documentation

◆ useShapeCast

bool mlir::vector::VectorTransformsOptions::useShapeCast = true

Option to control if vector.transpose can lower to a vector.shape_cast.

TODO: ATM it's not possible to lower vector.shape_cast to SPIR-V and hence the need for this opt-out. Once the missing support has been added, this option can be removed.

Definition at line 67 of file VectorTransforms.h.

Referenced by setUseShapeCast().

◆ vectorContractLowering

VectorContractLowering mlir::vector::VectorTransformsOptions::vectorContractLowering = VectorContractLowering::Dot

Option to control the lowering of vector.contract.

Definition at line 34 of file VectorTransforms.h.

Referenced by setVectorTransformsOptions().

◆ vectorMultiReductionLowering

VectorMultiReductionLowering mlir::vector::VectorTransformsOptions::vectorMultiReductionLowering
Initial value:
=
VectorMultiReductionLowering::InnerParallel

Option to control the lowering of vector.multi_reduction.

Definition at line 41 of file VectorTransforms.h.

Referenced by setVectorMultiReductionLowering().

◆ vectorTransferSplit

VectorTransferSplit mlir::vector::VectorTransformsOptions::vectorTransferSplit = VectorTransferSplit::None

Option to control the splitting of vector transfers.

Definition at line 57 of file VectorTransforms.h.

Referenced by setVectorTransferSplit().

◆ vectorTransposeLowering

VectorTransposeLowering mlir::vector::VectorTransformsOptions::vectorTransposeLowering
Initial value:
=
VectorTransposeLowering::EltWise

Option to control the lowering of vector.transpose.

Definition at line 49 of file VectorTransforms.h.

Referenced by setVectorTransposeLowering().


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