[all-commits] [llvm/llvm-project] 50a110: [CodeGenPrepare] splitMergedValStore: don't split ...
Justin Lebar via All-commits
all-commits at lists.llvm.org
Mon May 25 20:56:33 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 50a110ace7559f0655cf74cf2080b108c5bc2cda
https://github.com/llvm/llvm-project/commit/50a110ace7559f0655cf74cf2080b108c5bc2cda
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
Log Message:
-----------
[CodeGenPrepare] splitMergedValStore: don't split atomic stores. (#199592)
splitMergedValStore notices when you do e.g.
z = x | (y << 32)
store z
and may split this up into 32-bit two stores, of x and y, depending
e.g. on the type of x and y.
It skips this optimization for volatile stores, but currently does NOT
skip it for atomics (!!). So an atomic store can be split up into two
(non-atomic!) stores.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
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