From 7f6bde1a65577f56b661410405a4a0ce60fb6322 Mon Sep 17 00:00:00 2001 From: Muzammiluddin Syed Date: Thu, 16 Oct 2025 07:49:32 -0500 Subject: [PATCH 1/4] [mlir][AMGPU] Replace use of SmallVector with ArrayRef, NFC Signed-off-by: Muzammiluddin Syed --- mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp index f405d0cc7aa02..feaf9873c97d6 100644 --- a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp +++ b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp @@ -757,8 +757,8 @@ struct PackScales final : OpRewritePattern { offset = numElements - 4l; } Type scaleSrcElemType = scaleSrcType.getElementType(); - auto newSrcType = VectorType::get(SmallVector({numElements}), - scaleSrcElemType); + auto newSrcType = + VectorType::get(ArrayRef{numElements}, scaleSrcElemType); Value newScaleSrc = vector::ShapeCastOp::create(rewriter, loc, newSrcType, scaleSrc); auto extract = vector::ExtractStridedSliceOp::create( From f3424b3c5b0e71a3c28fa0f6c7e17068ff18f953 Mon Sep 17 00:00:00 2001 From: Muzammiluddin Syed Date: Thu, 16 Oct 2025 09:01:11 -0500 Subject: [PATCH 2/4] Infer template arguments where possible Signed-off-by: Muzammiluddin Syed --- mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp index feaf9873c97d6..d05aa2b734ad9 100644 --- a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp +++ b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp @@ -758,12 +758,12 @@ struct PackScales final : OpRewritePattern { } Type scaleSrcElemType = scaleSrcType.getElementType(); auto newSrcType = - VectorType::get(ArrayRef{numElements}, scaleSrcElemType); + VectorType::get(ArrayRef{numElements}, scaleSrcElemType); Value newScaleSrc = vector::ShapeCastOp::create(rewriter, loc, newSrcType, scaleSrc); auto extract = vector::ExtractStridedSliceOp::create( - rewriter, loc, newScaleSrc, ArrayRef{offset}, - ArrayRef{size}, ArrayRef{1}); + rewriter, loc, newScaleSrc, ArrayRef{offset}, ArrayRef{size}, + ArrayRef{1}); rewriter.modifyOpInPlace(op, [&] { op->setOperand(opIdx, extract); setOpsel(opIdx, opsel); From 4954301de08f16fc7ad1d0cf24a3a8d10a0a9ec4 Mon Sep 17 00:00:00 2001 From: Muzammiluddin Syed Date: Thu, 16 Oct 2025 09:05:41 -0500 Subject: [PATCH 3/4] Inferring constant type Signed-off-by: Muzammiluddin Syed --- mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp index d05aa2b734ad9..d04b2c14dee3a 100644 --- a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp +++ b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp @@ -763,7 +763,7 @@ struct PackScales final : OpRewritePattern { vector::ShapeCastOp::create(rewriter, loc, newSrcType, scaleSrc); auto extract = vector::ExtractStridedSliceOp::create( rewriter, loc, newScaleSrc, ArrayRef{offset}, ArrayRef{size}, - ArrayRef{1}); + ArrayRef{INT64_C(1)}); rewriter.modifyOpInPlace(op, [&] { op->setOperand(opIdx, extract); setOpsel(opIdx, opsel); From a02db762ebf956f97e85bd6aed70882a32f9c5c8 Mon Sep 17 00:00:00 2001 From: Muzammiluddin Syed Date: Thu, 16 Oct 2025 09:09:29 -0500 Subject: [PATCH 4/4] Use int64_t casting Signed-off-by: Muzammiluddin Syed --- mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp index d04b2c14dee3a..c798adb209fec 100644 --- a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp +++ b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp @@ -763,7 +763,7 @@ struct PackScales final : OpRewritePattern { vector::ShapeCastOp::create(rewriter, loc, newSrcType, scaleSrc); auto extract = vector::ExtractStridedSliceOp::create( rewriter, loc, newScaleSrc, ArrayRef{offset}, ArrayRef{size}, - ArrayRef{INT64_C(1)}); + ArrayRef{int64_t(1)}); rewriter.modifyOpInPlace(op, [&] { op->setOperand(opIdx, extract); setOpsel(opIdx, opsel);