[Mlir-commits] [mlir] [mlir][amdgpu] Add lowering for make_dma_descriptor (PR #169955)

Erick Ochoa Lopez llvmlistbot at llvm.org
Wed Dec 3 12:56:53 PST 2025


================
@@ -2335,6 +2336,352 @@ struct AMDGPUMakeDmaBaseLowering
   }
 };
 
+struct AMDGPUMakeDmaDescriptorLowering
+    : public ConvertOpToLLVMPattern<MakeDmaDescriptorOp> {
+  using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
+
+  AMDGPUMakeDmaDescriptorLowering(const LLVMTypeConverter &converter,
+                                  Chipset chipset)
+      : ConvertOpToLLVMPattern<MakeDmaDescriptorOp>(converter),
+        chipset(chipset) {}
+  Chipset chipset;
+
+  Value getDGroup0(OpAdaptor adaptor) const { return adaptor.getBase(); }
+
+  Value setValueAtOffset(ConversionPatternRewriter &rewriter, Location loc,
+                         Value accumulator, Value value, int64_t shift) const {
+    shift = shift % 32;
+    Value shiftAmount;
+    if (shift != 0) {
+      shiftAmount = createI32Constant(rewriter, loc, shift % 32);
+      value = LLVM::ShlOp::create(rewriter, loc, value, shiftAmount);
+    }
+
+    if (LLVM::ConstantOp op = accumulator.getDefiningOp<LLVM::ConstantOp>())
----------------
amd-eochoalo wrote:

Jakub also suggested using Log2_32 here so I'm keeping the matchPattern. https://github.com/llvm/llvm-project/pull/169955/commits/e154dd4d2e204b0ff3453af482e3e429de439269

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


More information about the Mlir-commits mailing list