MLIR

Multi-Level IR Compiler Framework

transform.vector.lower_vectors (::mlir::transform::LowerVectorsOp) 

Syntax:

operation ::= `transform.vector.lower_vectors` $target
              oilist (
              `contraction_lowering` `=` $contraction_lowering
              | `multireduction_lowering` `=` $multireduction_lowering
              | `split_transfers` `=` $split_transfers
              | `transpose_lowering` `=` $transpose_lowering
              )
              attr-dict

Indicates that the vector operations nested under the isolated from above op target should be lowered to finer-grained vector primitives.

At this time, the transform is all or nothing.

This is usally a late step that is run after bufferization as part of the process of lowering to e.g. LLVM or NVVM.

Interfaces: MemoryEffectOpInterface, TransformOpInterface

Attributes: 

AttributeMLIR TypeDescription
contraction_lowering::mlir::vector::VectorContractLoweringAttrcontrol the lowering of vector.contract operations.
multireduction_lowering::mlir::vector::VectorMultiReductionLoweringAttrcontrol the lowering of vector.multi_reduction.
split_transfers::mlir::vector::VectorTransferSplitAttrcontrol the splitting of vector.transfer operations into in-bounds and out-of-bounds variants.
transpose_lowering::mlir::vector::VectorTransposeLoweringAttrcontrol the lowering of vector.transpose operations.
transpose_avx2_lowering::mlir::BoolAttrbool attribute
unroll_vector_transfers::mlir::BoolAttrbool attribute

Operands: 

OperandDescription
targetPDL handle to an mlir::Operation *

Results: 

ResultDescription
resultsPDL handle to an mlir::Operation *