[all-commits] [llvm/llvm-project] ed918c: [AtomicExpand] Preserve volatile in widenPartwordA...

Justin Lebar via All-commits all-commits at lists.llvm.org
Wed May 27 09:52:00 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ed918c1496d56f5124c20a2f4f450ba439aeb68e
      https://github.com/llvm/llvm-project/commit/ed918c1496d56f5124c20a2f4f450ba439aeb68e
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-widen-volatile.ll

  Log Message:
  -----------
  [AtomicExpand] Preserve volatile in widenPartwordAtomicRMW. (#199722)

widenPartwordAtomicRMW widens a sub-word atomicrmw to the target's
minimum cmpxchg size by calling CreateAtomicRMW, which has no
IsVolatile parameter, and didn't copy isVolatile() from the original.
Every other expansion path in this file already does.  Affects targets
whose MinCmpXchgSizeInBits exceeds the value width (RISC-V without
Zabha, LoongArch base, SPARC, AMDGPU, etc.).

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.



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