[all-commits] [llvm/llvm-project] 875b36: [mlir] fix MemRefToLLVM lowering of atomic operati...

ftynse via All-commits all-commits at lists.llvm.org
Tue Jun 17 04:41:18 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 875b36a8742437b95f623bab1e0332562c7b4b3f
      https://github.com/llvm/llvm-project/commit/875b36a8742437b95f623bab1e0332562c7b4b3f
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-06-17 (Tue, 17 Jun 2025)

  Changed paths:
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir

  Log Message:
  -----------
  [mlir] fix MemRefToLLVM lowering of atomic operations (#139045)

We have been confusingly, and arguably incorrectly, lowering `m**imumf`
atomic RMW operations in the MemRef dialect to `fm**` atomic RMW
operations in the LLVM dialect, which have different NaN-propagation
semantics: `m**imumf` propagates NaNs from either operand whereas
`fm**`, which lowers to the `fm**num` intrinsic returns the non-NaN
operand. This also contradicts the lowering of `arith.m**imumf` and
`arith.m**numf` operations.

Change the lowering to match the terminology in arith.

Add tests for these lowerings.

Keep a debug message in case of surprising behavior downstream (the code
may be producing more NaNs now).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list