[Mlir-commits] [mlir] [MLIR][ROCDL] Lower `gpu.subgroup_id` to `wavefrontsize` (PR #137360)

Krzysztof Drewniak llvmlistbot at llvm.org
Fri Apr 25 11:28:04 PDT 2025


================
@@ -113,6 +132,20 @@ struct GPULaneIdOpToROCDL : ConvertOpToLLVMPattern<gpu::LaneIdOp> {
   }
 };
 
+struct GPUSubgroupSizeOpToROCDL : ConvertOpToLLVMPattern<gpu::SubgroupSizeOp> {
+  using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
+  LogicalResult
+  matchAndRewrite(gpu::SubgroupSizeOp op, gpu::SubgroupSizeOp::Adaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    Value wavefrontOp = rewriter.create<ROCDL::WavefrontSizeOp>(
----------------
krzysz00 wrote:

(and because it's `rocdl`, go ahead and be more aggressive and set the lower bound of the range to 32)

(Heck, this intrinsic can definitionally have a `range(i32 32, 64)` - or tighter - on it)

https://github.com/llvm/llvm-project/pull/137360


More information about the Mlir-commits mailing list