[LV] Add test for max reduction with escaping intermediate store (NFC) (#235571)
The loop is currently vectorized and stores a value computed from lane 0
of the vector accumulator instead of the scalar running max.
[mlir][vector] Fix transfer_write bufferization coverage checks (#234906)
The overwrite check can miss unwritten elements when a transfer has a
mask, writes a lower-rank vector, or permutes dimensions. Bufferization
may then skip a required copy and lose the original values of those
elements.
The check now includes the transfer's mask and uses
`getTransferChunkAccessed()` to determine coverage in destination
dimensions. Transposed writes and writes that omit unit dimensions can
still avoid a copy when they cover the entire destination.
Also add the missing split-input-file marker before @mask_scalable.
Fixes #233726
Assisted-by: Codex (OpenAI)
[M68k] Use UADDO_CARRY/USUBO_CARRY instead of ADDC/ADDE/SUBC/SUBE.
Type legalization now expands wide add/sub using UADDO/USUBO and
UADDO_CARRY/USUBO_CARRY, which are lowered to M68kISD::ADD/SUB and
M68kISD::ADDX/SUBX with the carry passed through CCR.
ADDX/SUBX no longer receive a glue operand, so their verifyTargetNode
waivers can be removed.
This improves the code for i64 uadd/usub.with.overflow. Previously the
overflow bit was computed by redoing the subtraction, and usubo also
saved and restored CCR.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[M68k] Only fold carry into ADDX/SUBX from flags that set X. NFCI
combineCarryThroughADD replaces (ADD (SETCC COND_CS, Flags), -1) with
Flags. For SETCC/BRCOND users that is fine because they read C, but
ADDX/SUBX read the X flag. CMP, TST, logical ops, MUL and BTST set C
without changing X, so folding their flags into ADDX/SUBX would use a
stale X.
Only do the fold for ADDX/SUBX when the flags come from M68kISD::ADD,
SUB, ADDX or SUBX, which set X equal to C. I could not find a case that
currently reaches the fold with other flags, so no test changes.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[M68k] Consistently use MVT::i8 for CCR values. (#235554)
This fixes some of the waivers in M68kSelectionDAGInfo.cpp. SUBX is
still broken for other reasons.
[sanitizer_common][test] Disable NolibcMain on Android (#235565)
Sanitizer-x86_64-Test-Nolibc is only built when `NOT ANDROID` in
`compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt`.
Assisted-by: Gemini
databases/pgdog: Update 0.1.61 => 0.1.62
* Move libpg_query crate replacement from post-extract to pre-patch
as `make cargo-crates` was unable to update crates:
`make cargo-crates > Makefile.crates`
rmdir: /libpg_query: No such file or directory
* Remove upstreamed patch
PR: 299460
[cmake] Findzstd: probe AIX .a archives for loader section
On AIX, shared libraries are conventionally packaged as .a archives
containing shared-object members. The existing heuristic in Findzstd
classifies any .a file (other than Cygwin .dll.a import libraries) as a
static library, based solely on the file suffix.
Fix this by probing the found library with "dump -X32_64 -T" on AIX.
A loader section in the output indicates a shared-object member; absent
that, the archive is treated as a genuine static library. The file-suffix
heuristic is preserved unchanged for all other platforms.
---------
Assisted-by: IBM Bob
[compiler-rt][test] XFAIL C++ ABI / operator new tests on Android (#235557)
Temporary suppression to fix
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.
After #196388, both `libclang_rt.asan-*-android.so` and
`libc++_shared.so` link static `libc++abi.a`, resulting in duplicate
`libc++abi` symbols and state across the two shared libraries.
Assisted-by: Gemini
[M68k] Use UADDO_CARRY/USUBO_CARRY instead of ADDC/ADDE/SUBC/SUBE.
Type legalization now expands wide add/sub using UADDO/USUBO and
UADDO_CARRY/USUBO_CARRY, which are lowered to M68kISD::ADD/SUB and
M68kISD::ADDX/SUBX with the carry passed through CCR.
ADDX/SUBX no longer receive a glue operand, so their verifyTargetNode
waivers can be removed.
This improves the code for i64 uadd/usub.with.overflow. Previously the
overflow bit was computed by redoing the subtraction, and usubo also
saved and restored CCR.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[M68k] Only fold carry into ADDX/SUBX from flags that set X. NFCI
combineCarryThroughADD replaces (ADD (SETCC COND_CS, Flags), -1) with
Flags. For SETCC/BRCOND users that is fine because they read C, but
ADDX/SUBX read the X flag. CMP, TST, logical ops, MUL and BTST set C
without changing X, so folding their flags into ADDX/SUBX would use a
stale X.
Only do the fold for ADDX/SUBX when the flags come from M68kISD::ADD,
SUB, ADDX or SUBX, which set X equal to C. I could not find a case that
currently reaches the fold with other flags, so no test changes.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[BPF] Describe the CO-RE subarray test functions (#235475)
The subarray test in 6636b41a18af gave both functions an empty debug
signature. This exposed an uninitialized prototype type ID during BTF
emission on the MemorySanitizer builder [1].
Describe the pointer each function takes and returns, and retain the
parameter names for BTF.
[1]: https://lab.llvm.org/buildbot/api/v2/logs/42872009/raw
Assisted-by: OpenAI Codex
[AVR][NFC] Drop stale comment (#235479)
Spotted at random - this function already implements the behavior
mentioned by the comment (we do `if (STI.hasLowByteFirst()) {` couple of
lines below).
[libc][math] Implement double precision cosh correctly rounded to all rounding modes.
Use shared exp(x) +- exp(-x) evaluations with sinh from https://github.com/llvm/llvm-project/pull/235097.
Assisted-by: Gemini for analysis and refactoring.
Merge tag 'for-7.4-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull more btrfs updates from David Sterba:
"This removes unused code of free space caching, disabled in 7.3
(commit 545e560a5b0f: "btrfs: disable v1 space cache").
It's been the original free space cache feature, superseded by free
space tree (4.5) and mkfs default since 5.15. The grace period was
sufficiently long, backward compatibility still exists with a
performance impact, effectively as if mounted with '-o nospace_cache'"
* tag 'for-7.4-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
btrfs: remove TRANS_JOIN_NOLOCK
btrfs: stop reading free space inodes from the commit root
btrfs: stop special-casing free space inodes in the delalloc accounting
btrfs: remove the free space inode special cases from the COW paths
btrfs: remove the free space inode ordered extent special cases
btrfs: remove BTRFS_RESERVE_FLUSH_FREE_SPACE_INODE
btrfs: remove the free space cache trimming ranges
[13 lines not shown]
Merge tag 'ext4_for_linus-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o:
"Add support for buffered iomap support in ext4. This is not enabled by
default, but requires the buffered_iomap mount option, as this mode
does not support online defragmentation, inline data, fsverify,
fscrypt, non-extent inodes, and data=journal mode. If buffered_iomap
is enabled, ext4 will fall back to the original I/O code path
automatically if necessary. Large writes show significant performance
improvements when buffered iomap is enabled.
There are also miscellaneous bug fixes and improvements, including for
fast commit and avoiding deadlocks and out-of-bound reads when
handling corner cases involving corrupted file systems"
* tag 'ext4_for_linus-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (41 commits)
ext4: introduce a mount option for iomap buffered I/O path
ext4: partially enable iomap for the buffered I/O path of regular files
ext4: add tracepoints for EOF block zeroing and disksize-grow I/O
[18 lines not shown]
[SPARC] Accept % prefix and alias register names in getRegisterByName (#234875)
The frontend accepts named register variables spelled with a % prefix
and aliases like sp and fp, but getRegisterByName did not match.
Strip an optional leading `%` from the register name before the lookup,
and add fp and sp as aliases for i6 and o6.
Fix #225926.
[LV] Add tests for diff checks of ptrs accessed more than once (NFC) (#235514)
Add a test with a pointer that is stored twice after the load of another
pointer, which currently uses range checks.
Also access %A with a larger step than %B in sinkable_predicated_store
(if-pred-stores.ll), which would otherwise use diff checks with the next
change. Range checks add the scoped noalias metadata sinking the
predicated stores requires.
Merge tag 'ntfs-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs
Pull ntfs updates from Namjae Jeon:
"New features:
- Implement ioctls to list, read, write, and remove named streams on
files and directories. Provide optional file:stream pathname access
through streams_interface=windows, exposing streams as regular file
descriptors with support for mmap, locking, truncation, and
allocation.
- Support file attribute queries and updates through FS_IOC_GETFLAGS
and FS_IOC_SETFLAGS. Store immutable, append-only, nodump, and
noatime settings in the private $LINUXFLAGS extended attribute and
restore them when loading inodes. Also report compression,
encryption, and the mount-wide case-folding policy as read-only
attributes.
Other changes:
[131 lines not shown]