[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