[Mlir-commits] [mlir] [mlir][vector] Add support for linearizing Extract, ExtractStridedSlice, Shuffle VectorOps in VectorLinearize (PR #88204)
Diego Caballero
llvmlistbot at llvm.org
Fri Apr 12 14:56:09 PDT 2024
================
@@ -106,6 +108,238 @@ struct LinearizeVectorizable final
private:
unsigned targetVectorBitWidth;
};
+
+
+/// This pattern converts the vector.extract_strided_slice operation to a
+/// vector.shuffle operation that works on a linearized vector.
+struct LinearizeVectorExtractStridedSlice final
+ : public mlir::OpConversionPattern<mlir::vector::ExtractStridedSliceOp> {
+ using OpConversionPattern::OpConversionPattern;
+ LinearizeVectorExtractStridedSlice(
+ const TypeConverter &typeConverter, MLIRContext *context,
+ unsigned targetVectBitWidth = std::numeric_limits<unsigned>::max(),
+ PatternBenefit benefit = 1)
+ : OpConversionPattern(typeConverter, context, benefit),
+ targetVectorBitWidth(targetVectBitWidth) {}
----------------
dcaballe wrote:
Thanks for adding support for the target vector bitwidth!
https://github.com/llvm/llvm-project/pull/88204
More information about the Mlir-commits
mailing list