[all-commits] [llvm/llvm-project] 690a25: [clang] Don't optimize out no-op atomics in kernel...

eleviant via All-commits all-commits at lists.llvm.org
Wed May 27 23:51:43 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 690a25fd5b0bf7118370efbc681661a24a40b83a
      https://github.com/llvm/llvm-project/commit/690a25fd5b0bf7118370efbc681661a24a40b83a
  Author: eleviant <eleviant at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/AArch64/mskernel-interlocked.c
    A clang/test/CodeGen/X86/mskernel-interlocked.c
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/test/CodeGen/X86/volatile-atomicrmw.ll

  Log Message:
  -----------
  [clang] Don't optimize out no-op atomics in kernel mode (#193562)

The no-op atomics like InterlockedAnd(addr, (UINT32)-1) don't modify
the underlying value, however kernel code depends on these accesses
to touch the pool page virtual address and intentionally trigger a page
fault during page migration. This patch also fixes an LLVM issue where
idempotent volatile atomics were incorrectly lowered into memory fences.



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