LLVM/project a0aa257 — clang/test/CodeGen cfi-check-fail-nomerge.c cleanup-destslot-simple.c, clang/test/CodeGen/AArch64 ABI-align-packed.c

clang: Don't set redundant intrinsic callsite attributes

Clang has a bad habit of spamming unnecessary callsite attributes that
are redundant with the function declaration. Fix one common source on
emitted intrinsics.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1,728-1,728clang/test/Headers/__clang_hip_math.hip
+286-278clang/test/CodeGen/ubsan-trap-merge.c
+132-111clang/test/CodeGen/AArch64/ABI-align-packed.c
+162-81clang/test/CodeGen/cleanup-destslot-simple.c
+120-107clang/test/CodeGen/cfi-check-fail-nomerge.c
+96-96clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
+2,524-2,40146 files not shown
+2,997-2,87552 files

LLVM/project f0a808d — bolt/include/bolt/Core BinaryFunction.h, bolt/lib/Core Exceptions.cpp BinaryEmitter.cpp

[BOLT] Preserve .cfi_signal_frame when rewriting .eh_frame (#242044)

BOLT dropped the "S" CIE augmentation emitted by .cfi_signal_frame, so
every rewritten FDE was placed under a plain "zR" CIE. Unwinders that
detect signal trampolines from CFI (lldb after #237016) then fail
to recognize them in BOLTed binaries.

Record the signal frame flag from the input CIE and re-emit it with
emitCFISignalFrame().

Assisted-by: Claude Opus 5.5

Test Plan: added bolt/test/X86/cfi-signal-frame.s
DeltaFile
+40-0bolt/test/X86/cfi-signal-frame.s
+10-0bolt/include/bolt/Core/BinaryFunction.h
+2-0bolt/lib/Core/Exceptions.cpp
+2-0bolt/lib/Core/BinaryEmitter.cpp
+54-04 files

LLVM/project 2ca6d12 — llvm/include/llvm/Analysis VectorUtils.h, llvm/lib/IR MemCacheHint.cpp

[VectorUtils] Preserve cache-hint metadata
DeltaFile
+103-0llvm/unittests/IR/MemCacheHintTest.cpp
+85-1llvm/unittests/Analysis/VectorUtilsTest.cpp
+52-1llvm/lib/IR/MemCacheHint.cpp
+9-20llvm/test/Transforms/LoadStoreVectorizer/NVPTX/cache-hint.ll
+9-14llvm/test/Transforms/SLPVectorizer/X86/cache-hint.ll
+3-8llvm/include/llvm/Analysis/VectorUtils.h
+261-442 files not shown
+277-448 files

LLVM/project 16b6867 — llvm/test/Transforms/LoadStoreVectorizer/NVPTX cache-hint.ll, llvm/test/Transforms/SLPVectorizer/X86 cache-hint.ll

[VectorUtils] Add cache-hint tests
DeltaFile
+313-0llvm/test/Transforms/LoadStoreVectorizer/NVPTX/cache-hint.ll
+239-0llvm/test/Transforms/SLPVectorizer/X86/cache-hint.ll
+552-02 files

LLVM/project b0e1309 — llvm/include/llvm/IR MemCacheHint.h, llvm/lib/CodeGen CodeGenCommonISel.cpp

[IR] Centralize cache-hint metadata helpers
DeltaFile
+145-0llvm/unittests/IR/MemCacheHintTest.cpp
+64-0llvm/lib/IR/MemCacheHint.cpp
+32-0llvm/include/llvm/IR/MemCacheHint.h
+3-20llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
+0-19llvm/lib/CodeGen/CodeGenCommonISel.cpp
+9-10llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+253-495 files not shown
+261-6211 files

LLVM/project 00315e9 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

[LoongArch][NFC] Move XOR combine into performXORCombine

Extract the inline ISD::XOR handling in PerformDAGCombine into a
dedicated performXORCombine helper, matching how the other opcodes
(AND, OR, SETCC, ...) are structured. No functional change.

Also fix a clang-format issue in emitPseudoVMSKCOND.

Assisted-By: LLM
DeltaFile
+35-33llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+35-331 files

LLVM/project 76162fb — llvm/lib/CodeGen/AsmPrinter DwarfDebug.h DwarfDebug.cpp, llvm/lib/Target/NVPTX NVPTXDwarfDebug.cpp

Revert "[DwarfDebug] Add applyDwarfVersion() so the targets like NVPTX can recompute the version-derived state" (#242150)

Reverts llvm/llvm-project#234510 as this PR introduce build breakage on
pre/post submit builders.
DeltaFile
+0-87llvm/test/DebugInfo/dwarf-version-defaults.ll
+18-30llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+0-27llvm/test/DebugInfo/NVPTX/no-dwarf-version-flag.ll
+0-5llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+1-1llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
+19-1505 files

DragonFlyBSD/src c114f23 — sys/vfs/nullfs null_vfsops.c

kernel - Work around forced umount race in nullfs

* Partial work-around for a umount race against a
  call to statfs() through a null mount.  Check
  that mp->mnt_data is not NULL.
DeltaFile
+3-0sys/vfs/nullfs/null_vfsops.c
+3-01 files

LLVM/project f7f2ed9 — llvm/lib/CodeGen/AsmPrinter DwarfDebug.h DwarfDebug.cpp, llvm/lib/Target/NVPTX NVPTXDwarfDebug.cpp

Revert "[DwarfDebug] Add applyDwarfVersion() so the targets like NVPTX can re…"

This reverts commit 7daaee963b2f5cabbc3beea88039cca412ed727f.
DeltaFile
+0-87llvm/test/DebugInfo/dwarf-version-defaults.ll
+18-30llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+0-27llvm/test/DebugInfo/NVPTX/no-dwarf-version-flag.ll
+0-5llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+1-1llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
+19-1505 files

LLVM/project aa071b7 — llvm/include/llvm/IR GlobalValue.h, llvm/lib/IR Globals.cpp

[llvm][GlobalOpt] Preserve COMDATs for Dead GVs
DeltaFile
+52-0llvm/test/Transforms/GlobalOpt/deadfunction-comdat.ll
+26-2llvm/lib/Transforms/IPO/GlobalOpt.cpp
+24-0llvm/test/Transforms/GlobalOpt/comdat-available-externally.ll
+22-0llvm/test/Transforms/GlobalOpt/deadglobal-comdat.ll
+8-0llvm/include/llvm/IR/GlobalValue.h
+6-0llvm/lib/IR/Globals.cpp
+138-26 files

FreeBSD/ports da30022 — misc/py-litellm Makefile distinfo

misc/py-litellm: Update to 1.109.1

Changelog: https://github.com/BerriAI/litellm/releases/tag/v1.109.1

Reported by:    portscout
DeltaFile
+3-3misc/py-litellm/distinfo
+2-2misc/py-litellm/Makefile
+5-52 files

LLVM/project b2b433b — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU dagcombine-fma-crash.ll fadd-fma-fmul-cse.ll

[DAGCombiner] Rebuild FMA chain instead of mutating it in place (#241188)

visitFADDForFMACombine folds
  fadd (fma A, B, (fmul C, D)), E --> fma A, B, (fma C, D, E)
by replacing the inner fmul in place with ReplaceAllUsesOfValueWith.

If fma A, B, (fma C, D, E) already exists, e.g. when another expression
adds the same terms in a different order, CSE merges the updated chain
into it and the outer fadd becomes
  fadd (fma A, B, (fma C, D, E)), E
The combine returns this outer fadd, retaining the extra addition of E.
If an identical fadd already exists, the outer fadd is CSE'd away while
being visited.

Rebuild the chain with getNode instead, and drop the DELETED_NODE check
in visitFADD.
DeltaFile
+113-0llvm/test/CodeGen/AMDGPU/fadd-fma-fmul-cse.ll
+9-11llvm/test/CodeGen/AMDGPU/dagcombine-fma-crash.ll
+10-7llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+132-183 files

LLVM/project d017222 — llvm/lib/Transforms/Scalar InferAddressSpaces.cpp, llvm/test/Transforms/InferAddressSpaces/AMDGPU infer-addrspacecast.ll

[InferAddressSpaces] Infer constant addrspacecast operands

A cast back from the flat address space folds into a constant
expression when its operand is constant. Only AddrSpaceCastInst and
memory operands were visited, so such a cast used as a call argument
or a stored value kept its round trip through the flat address
space.

Visit constant expression operands of a specific address space.

Change-Id: Iab1aaaf809a41f48886d0412cdb96d756e5e86c5
Co-Authored-By: Claude Fable 5.2 <noreply at anthropic.com>
DeltaFile
+30-0llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-addrspacecast.ll
+7-0llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
+37-02 files

DragonFlyBSD/src ff91397 — sys/vfs/nullfs null_vfsops.c

kernel - Work around forced umount race in nullfs

* Partial work-around for a umount race against a
  call to statfs() through a null mount.  Check
  that mp->mnt_data is not NULL.
DeltaFile
+3-0sys/vfs/nullfs/null_vfsops.c
+3-01 files

FreeBSD/src 9329960 — tests/sys/kern ssl_sendfile.c

tests/sys/kern/ssl_sendfile: double timeouts for :grow and :truncate

The :grow and :truncate testcases fail semi-regularly in CI with
timeouts. Double the timeout to reduce false positives with the tests.

PR:             300699
MFC after:      1 week
Reviewed by:    siva
Differential Revision:  https://reviews.freebsd.org/D61444
DeltaFile
+21-2tests/sys/kern/ssl_sendfile.c
+21-21 files

FreeBSD/src 87e27bc — sys/dev/asmc asmc.c

asmc: include sys/kernel.h

This is needed for the `MODULE*` macros.

This include was accidentally removed in the linked commit.

MFC after:      1 week
Reported by:    Ian Freislich <ianfreislich at gmail.com>
Fixes:  c714cde179a4 ("asmc: split the sysctl layer into asmcsysctl.c")
DeltaFile
+1-0sys/dev/asmc/asmc.c
+1-01 files

LLVM/project 3680307 — llvm/test/CodeGen/AMDGPU sdwa-peephole-instr.mir clamp-omod-special-case.mir, llvm/test/Transforms/SLPVectorizer/X86 or-like-select-chain.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+578-43llvm/tools/llvm-strings/llvm-strings.cpp
+130-286llvm/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir
+109-295llvm/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
+116-287llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
+124-268llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
+322-0llvm/test/Transforms/SLPVectorizer/X86/or-like-select-chain.ll
+1,379-1,179215 files not shown
+5,636-5,172221 files

LLVM/project 75ba539 — llvm/test/CodeGen/AMDGPU sdwa-peephole-instr.mir clamp-omod-special-case.mir, llvm/test/Transforms/SLPVectorizer/X86 or-like-select-chain.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+578-43llvm/tools/llvm-strings/llvm-strings.cpp
+130-286llvm/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir
+109-295llvm/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
+116-287llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
+124-268llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
+322-0llvm/test/Transforms/SLPVectorizer/X86/or-like-select-chain.ll
+1,379-1,179215 files not shown
+5,636-5,172221 files

LLVM/project 07d14e1 — llvm/test/Transforms/LowerTypeTests export-single.ll export-icall.ll

[NFC][LowerTypeTests] Write export summaries to %t.out (#242134)

#221090 switched these tests from split-file to writing the summary to
%t. Incremental builds that ran the old tests still have %t as a
directory and fail with "Is a directory". Use %t.out so the tests work
in such builds, including incremental bisects across #221090.

Assisted-by: Gemini
DeltaFile
+6-6llvm/test/Transforms/LowerTypeTests/export-inline.ll
+4-4llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
+4-4llvm/test/Transforms/LowerTypeTests/export-allones.ll
+2-2llvm/test/Transforms/LowerTypeTests/export-single.ll
+2-2llvm/test/Transforms/LowerTypeTests/export-icall.ll
+2-2llvm/test/Transforms/LowerTypeTests/export-dead.ll
+20-202 files not shown
+22-228 files

FreeBSD/src ea8db65 — . UPDATING, sys/dev/iavf if_iavf_iflib.c

iflib: Use a single tx dma map

The need for a separate map for TSO and non-TSO seems to have arisen from
a misunderstanding about the DMA requirements for Intel drivers like
ice/ixl/iavf. Specifically, this Intel hardware has a quirk where no
more than N (=8) segs can be DMA'ed per packet on the wire. This limit
was enforced using a DMA map with a low segment limit for non-TSO and a
driver specific check for TSO. This led to a *lot* of complexity in
iflib (~80 extra lines of code that this change removes) when the
limit can simply be enforced via the existing EFBIG mechanisms.

This change adds a new flag, IFLIB_SPARSE_TX, that drivers for hardware
with this quirk must set.  When set, it causes non-TSO sends that
exceed isc_tx_nsegment to be treated as if bus_dmamap_load_mbuf_sg()
had returned EFBIG.

Due to the API/KABI change, I've bumped the FreeBSD version as well.

Note kgalazka suggested the flag, rather than a more awkward

    [12 lines not shown]
DeltaFile
+36-123sys/net/iflib.c
+9-0UPDATING
+4-1sys/net/iflib.h
+2-2sys/dev/ice/if_ice_iflib.c
+2-1sys/dev/ixl/if_ixl.c
+2-1sys/dev/iavf/if_iavf_iflib.c
+55-1281 files not shown
+56-1297 files

LLVM/project efd0f4f — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-ignorelist.cpp cfi-vcall-type-checked-load.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+62-68clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+24-14clang/lib/CodeGen/CGClass.cpp
+2-2clang/test/CodeGenCXX/cfi-ignorelist.cpp
+0-3compiler-rt/test/cfi/same-layout-delete.cpp
+88-874 files

LLVM/project d0abc72 — llvm/test/CodeGen/AMDGPU sdwa-peephole-instr.mir clamp-omod-special-case.mir, llvm/test/Transforms/SLPVectorizer/X86 or-like-select-chain.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+578-43llvm/tools/llvm-strings/llvm-strings.cpp
+130-286llvm/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir
+109-295llvm/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
+116-287llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
+124-268llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
+322-0llvm/test/Transforms/SLPVectorizer/X86/or-like-select-chain.ll
+1,379-1,179219 files not shown
+5,723-5,260225 files

LLVM/project 8d193a0 — llvm/lib/Target/LoongArch LoongArchLSXInstrInfo.td LoongArchLASXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx bitsel.ll

[LoongArch] Select [X]VBITSELI_B for byte splat bitsel on wider element types

The VBITSELI_B/XVBITSELI_B patterns only matched v16i8/v32i8. When the
bitwise select idiom `(a & imm) | (~a & b)` appears on v8i16/v4i32/v2i64
(or the LASX equivalents) with a byte splat constant, e.g. from portable
SIMD implementations of the bitseli intrinsics, we emitted:

```
  vrepli.b  $vr2, 127
  vbitsel.v $vr0, $vr1, $vr2, $vr0
```

Use vsplat_i8_uimm8, as VANDI_B/VORI_B/etc. already do, so that we now
emit:

```
  vbitseli.b $vr0, $vr1, 127
```

Assisted-By: LLM
DeltaFile
+3-6llvm/test/CodeGen/LoongArch/lsx/bitsel.ll
+3-6llvm/test/CodeGen/LoongArch/lasx/bitsel.ll
+4-0llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+4-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+14-124 files

LLVM/project 085994a — llvm/test/CodeGen/LoongArch/lasx bitsel.ll, llvm/test/CodeGen/LoongArch/lsx bitsel.ll

[LoongArch][NFC] Add tests for vector bitwise selection with byte splat immediates

Add tests for bitwise selection on non-i8 element vectors where the
select-constant is a byte splat, which could be selected to
VBITSELI_B/XVBITSELI_B.

Assisted-By: LLM
DeltaFile
+56-0llvm/test/CodeGen/LoongArch/lsx/bitsel.ll
+56-0llvm/test/CodeGen/LoongArch/lasx/bitsel.ll
+112-02 files

LLVM/project 0ac42f6 — llvm/include/llvm/IR GlobalValue.h, llvm/lib/IR Globals.cpp

[llvm][GlobalOpt] Preserve COMDATs for Dead GVs
DeltaFile
+52-0llvm/test/Transforms/GlobalOpt/deadfunction-comdat.ll
+38-2llvm/lib/Transforms/IPO/GlobalOpt.cpp
+36-0llvm/test/Transforms/GlobalOpt/comdat-available-externally.ll
+22-0llvm/test/Transforms/GlobalOpt/deadglobal-comdat.ll
+8-0llvm/include/llvm/IR/GlobalValue.h
+6-0llvm/lib/IR/Globals.cpp
+162-26 files

LLVM/project edb2e69 — compiler-rt/lib/asan asan_fake_stack.h asan_fake_stack.cpp, compiler-rt/test/asan/TestCases/Linux fake_stack_gc_all_classes.cpp

[asan] Scan fake stack allocation flags eight at a time (#242047)

After every noreturn call (throw, longjmp, ...) the next fake frame
allocation runs FakeStack::GC, which looks at the allocation flag of
every frame of every size class, one byte at a time: about 33,000 flags
for the default fake stack size. Usually few frames have their flag set,
so nearly all of that work is reading zeros.

Skip eight clear flags per load. LeakSanitizer's ForEachFakeFrame had a
copy of the loop; both now share ForEachAllocatedFrame. What is
collected and what is scanned for leaks does not change.

This helps programs that throw or longjmp often. libpng leaves every bad
input by longjmp: on x86_64 Linux, replaying a fuzzing corpus through
its read target takes 0.57 of the instructions and about 0.8 of the CPU
time. A plain longjmp or throw loop takes 0.3 to 0.9 of the time,
depending on the size of the frames, the depth and how long it has run.
The instruction count of 18 other workloads stays within 0.05%.


    [7 lines not shown]
DeltaFile
+91-0compiler-rt/test/asan/TestCases/Linux/fake_stack_gc_all_classes.cpp
+33-28compiler-rt/lib/asan/asan_fake_stack.cpp
+2-0compiler-rt/lib/asan/asan_fake_stack.h
+126-283 files

LLVM/project 139459a — llvm/unittests/ADT StringRefTest.cpp

[Support] Test StringRef::rfind(StringRef) across 16-byte chunk boundaries

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Claude-Session: https://claude.ai/code/session_0151E9ZnWSo9wtkhiXsH6ZKN
DeltaFile
+26-0llvm/unittests/ADT/StringRefTest.cpp
+26-01 files

LLVM/project 63a446f — llvm/lib/Support StringRef.cpp

[Support] Vectorize the byte scan in StringRef::rfind(StringRef)

StringRef::rfind(StringRef) forwards to std::string_view::rfind. libstdc++
compares the whole needle with memcmp at every position; libc++ scans
backwards for the needle's last character one byte at a time. Neither is
vectorized, and there is no portable memrchr to call instead.

Scan backwards for the needle's first character 16 bytes at a time, with a
branch-free OR of compares per chunk that clang and GCC turn into one vector
compare and mask test, and compare the rest of the needle only where the
character occurs.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Claude-Session: https://claude.ai/code/session_01TvfuMmXF8ywTFaZFX8JuGM
DeltaFile
+36-1llvm/lib/Support/StringRef.cpp
+36-11 files

LLVM/project 33e0413 — llvm/docs/CommandGuide llvm-strings.md, llvm/test/tools/llvm-strings length.test locale.test

Reapply "[llvm-strings] Add --encoding={s,S,utf8} option (#221794)" (#241881)

This reverts commit 3a99f8bbe76805586c0247eba38b907bb8400dcb and fixes
the macOS iconv detection that prompted the original removal.
DeltaFile
+578-43llvm/tools/llvm-strings/llvm-strings.cpp
+97-0llvm/test/tools/llvm-strings/encoding.test
+37-29llvm/utils/UnicodeData/UnicodeCharSetsGenerator.cpp
+37-0llvm/test/tools/llvm-strings/locale.test
+17-4llvm/docs/CommandGuide/llvm-strings.md
+20-1llvm/test/tools/llvm-strings/length.test
+786-776 files not shown
+844-8512 files

NetBSD/pkgsrc-wip d566062 — yoshimi MESSAGE distinfo

yoshimi: Add yoshimi-2.3.6.5

Yoshimi is a fully polyphonic, multi-timbral, multi-channel software
synthesiser.
DeltaFile
+1,320-0yoshimi/PLIST
+38-0yoshimi/Makefile
+16-0yoshimi/options.mk
+9-0yoshimi/COMMIT_MSG
+5-0yoshimi/MESSAGE
+5-0yoshimi/distinfo
+1,393-02 files not shown
+1,396-08 files