[Mlir-commits] [mlir] [mlir][amdgpu] Adds make_dma_gather_base (PR #171857)
Krzysztof Drewniak
llvmlistbot at llvm.org
Thu Dec 11 11:00:33 PST 2025
================
@@ -2276,72 +2276,105 @@ struct AMDGPUPermlaneLowering : public ConvertOpToLLVMPattern<PermlaneSwapOp> {
}
};
-struct AMDGPUMakeDmaBaseLowering
- : public ConvertOpToLLVMPattern<MakeDmaBaseOp> {
- using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
+static Value setValueAtOffset(ConversionPatternRewriter &rewriter, Location loc,
+ Value accumulator, Value value, int64_t shift) {
+ shift = shift % 32;
+ Value shiftAmount;
+ if (shift != 0) {
+ shiftAmount = createI32Constant(rewriter, loc, shift % 32);
+ value = LLVM::ShlOp::create(rewriter, loc, value, shiftAmount);
+ }
+
+ if (matchPattern(accumulator, mlir::m_Zero()))
+ return value;
+
+ return LLVM::OrOp::create(rewriter, loc, accumulator, value);
----------------
krzysz00 wrote:
In unrelated trivialities I just realized - all these `or`s are `disjoint` and could probably be marked as such.
https://github.com/llvm/llvm-project/pull/171857
More information about the Mlir-commits
mailing list