LLVM/project 27fd138 — clang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/CodeGen GlobalMergeFunctions.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-30llvm/lib/LTO/LTOBackend.cpp
+19-4llvm/lib/Passes/RunCodeGen.cpp
+5-4clang/lib/CodeGen/BackendUtil.cpp
+4-2llvm/lib/CodeGen/GlobalMergeFunctions.cpp
+0-4llvm/include/llvm/CodeGen/GlobalMergeFunctions.h
+2-0llvm/include/llvm/Passes/RunCodeGen.h
+40-441 files not shown
+40-467 files

LLVM/project 54bb7e4 — clang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/LTO Config.h

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+10-30llvm/lib/LTO/LTOBackend.cpp
+19-4llvm/lib/Passes/RunCodeGen.cpp
+5-4clang/lib/CodeGen/BackendUtil.cpp
+0-2llvm/include/llvm/LTO/Config.h
+2-0llvm/include/llvm/Passes/RunCodeGen.h
+36-405 files

LLVM/project 637e81a — llvm/lib/Target/RISCV RISCVRegisterInfo.h RISCVRegisterInfo.cpp, llvm/test/CodeGen/RISCV csr-first-use-cost.ll exception-pointer-register.ll

[RISCV] Return true from enableCSRFirstTimeMinCost
DeltaFile
+14-22llvm/test/CodeGen/RISCV/exception-pointer-register.ll
+9-9llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
+5-0llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+2-0llvm/lib/Target/RISCV/RISCVRegisterInfo.h
+30-314 files

LLVM/project 8608231 — llvm/lib/CodeGen RegAllocGreedy.h

!fixup fix format
DeltaFile
+3-3llvm/lib/CodeGen/RegAllocGreedy.h
+3-31 files

LLVM/project e9b335a — llvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/lib/CodeGen RegAllocGreedy.h RegAllocGreedy.cpp

[RegAlloc] Make tryAssignCSRFirstTime consider Remat/Spill
DeltaFile
+178-2llvm/lib/CodeGen/RegAllocGreedy.cpp
+15-0llvm/lib/CodeGen/RegAllocGreedy.h
+8-0llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+201-23 files

LLVM/project c567ab6 — llvm/test/CodeGen/RISCV regalloc-csr-cost-patterns.ll

[RISCV] Add pre-commit testcase
DeltaFile
+1,089-0llvm/test/CodeGen/RISCV/regalloc-csr-cost-patterns.ll
+1,089-01 files

LLVM/project bfe6901 — llvm/include/llvm/LTO Config.h, llvm/lib/LTO LTOBackend.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-2llvm/lib/LTO/LTOBackend.cpp
+0-2llvm/include/llvm/LTO/Config.h
+0-42 files

LLVM/project c2d0a2d — clang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/LTO Config.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-30llvm/lib/LTO/LTOBackend.cpp
+19-4llvm/lib/Passes/RunCodeGen.cpp
+5-4clang/lib/CodeGen/BackendUtil.cpp
+0-2llvm/include/llvm/LTO/Config.h
+2-0llvm/include/llvm/Passes/RunCodeGen.h
+36-405 files

LLVM/project aa4a752 — libc/src/stdio/baremetal putchar.cpp putc.cpp, libc/src/stdio/gpu putchar.cpp putc.cpp

[libc] Return the written character from putc, fputc and putchar on baremetal and gpu (#240248)

Follow-up to #239980, which changed the generic implementations to
return the character written as an unsigned char converted to int, as C
requires, and updated the shared tests to expect it. The baremetal and
gpu implementations still returned zero.

Each of the six functions now returns `static_cast<int>(uc)` on success.

Assisted-by: Claude
DeltaFile
+1-1libc/src/stdio/gpu/putchar.cpp
+1-1libc/src/stdio/gpu/putc.cpp
+1-1libc/src/stdio/gpu/fputc.cpp
+1-1libc/src/stdio/baremetal/putchar.cpp
+1-1libc/src/stdio/baremetal/putc.cpp
+1-1libc/src/stdio/baremetal/fputc.cpp
+6-66 files

LLVM/project 25dfe76 — clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen global-tls-simple-init.cpp no-trapping-math-ssp-buffer-size.c

[CIR] Emit no-trapping-math and stack-protector-buffer-size function attribute (#234029)

Mirror classic codegen's `getDefaultFunctionAttributes` by setting
`"no-trapping-math"` (when FP exceptions are ignored) and
`"stack-protector-buffer-size"` on function definitions and
declarations. Both are lowered to LLVM IR through the `passthrough`
attribute array, since `llvm.func` has no dedicated fields for them.

Most changes are related to testing.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+47-0clang/test/CIR/CodeGen/no-trapping-math-ssp-buffer-size.cpp
+44-0clang/test/CIR/Lowering/no-trapping-math-ssp-buffer-size.cir
+42-0clang/test/CIR/CodeGen/no-trapping-math-strictfp.c
+39-0clang/test/CIR/CodeGen/no-trapping-math-ssp-buffer-size.c
+12-12clang/test/CIR/CodeGen/global-tls-simple-init.cpp
+17-7clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+201-1923 files not shown
+312-8129 files

LLVM/project 8a10728 — llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AArch64 vector-interleave2-splat.ll

[VectorCombine] Fix big-endian packing in interleave2 splat fold (#238626)

Fix issue: https://github.com/llvm/llvm-project/issues/238625
DeltaFile
+23-0llvm/test/Transforms/VectorCombine/AArch64/vector-interleave2-splat.ll
+7-2llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+30-22 files

LLVM/project e0e7b92 — llvm/lib/Target/LoongArch LoongArchISelLowering.h LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx vselect.ll

[LoongArch] Custom legalize vselect to vector_shuffle for most constant condition cases (#163489)
DeltaFile
+82-45llvm/test/CodeGen/LoongArch/lsx/vselect.ll
+61-38llvm/test/CodeGen/LoongArch/lasx/vselect.ll
+52-2llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.h
+196-854 files

LLVM/project 33e199f — libc/src/stdio/generic putchar.cpp putc.cpp, libc/test/src/stdio putc_test.cpp fputc_test.cpp

[libc] Return the written character from putc, fputc and putchar (#239980)

All three returned zero on success. C requires the character written,
taken as an unsigned char and converted to int. A caller comparing the
result against the character it passed reads zero as a failed write.

m4's configure probes ftello by writing a byte after a read reaches end
of file and checking that putc returns it. It concluded LLVM-libc had a
Solaris bug it does not have, then failed to compile the workaround it
selected.

Assisted-by: Claude
DeltaFile
+8-1libc/test/src/stdio/fputc_test.cpp
+2-1libc/test/src/stdio/putc_test.cpp
+1-1libc/src/stdio/generic/putchar.cpp
+1-1libc/src/stdio/generic/putc.cpp
+1-1libc/src/stdio/generic/fputc.cpp
+13-55 files

LLVM/project 3c76869 — clang-tools-extra/docs/clang-tidy/checks/modernize avoid-bind.md min-max-use-initializer-list.md

~
DeltaFile
+1-11clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.md
+2-10clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.md
+0-10clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.md
+3-5clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.md
+0-6clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.md
+1-3clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.md
+7-452 files not shown
+8-488 files

LLVM/project accd95d — llvm/test/CodeGen/LoongArch/lsx/ir-instruction mulwev_od.ll

fix tests
DeltaFile
+126-0llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+126-01 files

LLVM/project 979f4d3 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lsx/ir-instruction mulwev_od.ll

address heiher's comment
DeltaFile
+24-16llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+6-1llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+30-172 files

LLVM/project ff07510 — llvm/test/CodeGen/LoongArch/lsx/ir-instruction mulwev_od.ll

update after rebase
DeltaFile
+32-64llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+32-641 files

LLVM/project 28805f4 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

address tangaac's comment
DeltaFile
+2-2llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+2-21 files

LLVM/project b8ff6ca — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lsx/ir-instruction mulwev_od.ll

deal with lsx i128
DeltaFile
+96-356llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+34-22llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+130-3782 files

LLVM/project 0586e4c — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx/ir-instruction mulwev_od.ll

including v2i128
DeltaFile
+58-870llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mulwev_od.ll
+13-4llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+71-8742 files

LLVM/project 7663027 — llvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td LoongArchLSXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx/ir-instruction mulwev_od.ll

[LoongArch] Perform DAG combine for MUL to generate `[x]vmulw{ev/od}`
DeltaFile
+32-1,008llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mulwev_od.ll
+11-247llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+113-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+50-0llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+41-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+247-1,2555 files

LLVM/project 805a81b — lld/ELF InputFiles.cpp, lld/test/ELF aarch64-feature-pauth.s gnu-property-err.s

[ELF] .note.gnu.property: Require padding for the last piece (#240238)

parseGnuPropertyNote skips pr_datasz rounded up to the alignment but
checks only pr_datasz, reading out of bounds when the padding is
missing. GNU ld reports such a note as corrupt.

Fix #235225
DeltaFile
+15-0lld/test/ELF/gnu-property-err.s
+2-1lld/test/ELF/aarch64-feature-pauth.s
+1-1lld/ELF/InputFiles.cpp
+18-23 files

LLVM/project e5cabc5 — lldb/test/API/functionalities/scripted_frame_provider TestScriptedFrameProvider.py

[lldb] Skip TestScriptedFrameProvider expression test on non-x86 Linux (#240233)

`test_expression_at_frame_without_variables` still fails on aarch64
Linux after 58b0fd59e5fb with "Couldn't allocate space for materialized
struct".

The IR interpreter evaluates `1 + 1`, so no code runs in the inferior,
but LLDB still needs to allocate memory there for the expression's
arguments and result. On macOS, debugserver does that itself when it
gets the `_M` packet, using `mach_vm_allocate()`. On x86 Linux,
lldb-server does it by running the `mmap` syscall on the thread's real
registers. Neither path goes through LLDB's frames, so the scripted
frame 0 never matters there.

lldb-server doesn't implement `_M` on other Linux architectures, so on
aarch64 LLDB falls back to calling `mmap` in the inferior. Before making
that call, `Thread::CheckpointThreadState()` saves the registers of
frame 0, which is the scripted frame. Its `RegisterContextMemory` has no
backing address, so `ReadAllRegisterValues()` fails and the call is

    [6 lines not shown]
DeltaFile
+1-0lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+1-01 files

LLVM/project 4335079 — llvm/test/CodeGen/LoongArch/lsx/ir-instruction mulwev_od.ll

update after rebase
DeltaFile
+27-51llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mulwev_od.ll
+27-511 files

LLVM/project 6b256f3 — llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds-rejected-window.ll

[SLP][NFC] Add tests for dependent seeds in rejected windows (#240208)

Precommit tests for the once-used seeds that depend on each other, such
as x * x and x * (x * x), whose window is rejected and whose users are
bypassed by the window walk.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+291-0llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds-rejected-window.ll
+291-01 files

LLVM/project d60e6b7 — llvm/include/llvm/LTO Config.h, llvm/lib/LTO LTOBackend.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+0-2llvm/lib/LTO/LTOBackend.cpp
+0-2llvm/include/llvm/LTO/Config.h
+0-42 files

LLVM/project d215b74 — libc/src/__support/File file.cpp, libc/test/src/stdio CMakeLists.txt setvbuf_test.cpp

[libc] Make a stream unbuffered when setvbuf is given a size of zero (#236517)

`setvbuf(f, nullptr, _IOFBF, 0)` and `setlinebuf(f)`, which is
`setvbuf(f, nullptr, _IOLBF, 0)`, take the branch that stores the
caller's buffer. That buffer is null, but the requested mode is kept, so
the stream is left fully or line buffered with no buffer. A buffer of no
size holds nothing, so this sets the mode to `_IONBF` to match.

Where it came from: with my libc `setlinebuf(stdout)` followed by
another write crashed `bluetoothctl --help` when stdout was a pipe,
through a null buffer in a line buffered stream. I could not reproduce
that crash in a unit test on current main, so the tests added here pass
with and without the change. They pin the behaviour a program can see: a
zero sized stream shows its writes without a flush, and a sized one
still waits for `fflush`. Nothing public reports the buffering mode, so
I can't test the mode directly.

AI disclosure: this patch was written with Claude Code. I reviewed the
change and ran the new tests.

Assisted-by: Claude
DeltaFile
+80-1libc/test/src/stdio/setvbuf_test.cpp
+5-0libc/src/__support/File/file.cpp
+2-0libc/test/src/stdio/CMakeLists.txt
+87-13 files

LLVM/project bdc4465 — lld/ELF InputFiles.cpp, lld/test/ELF sht-group-empty.test

Merge branch 'main' into users/zhaoqi5/opt-vselect
DeltaFile
+34-0lld/test/ELF/invalid/sht-group-merge.test
+10-12llvm/test/CodeGen/LoongArch/lsx/fptosi-sat.ll
+13-1lld/test/ELF/sht-group-empty.test
+2-2lld/ELF/InputFiles.cpp
+59-154 files

LLVM/project 5ad4b79 — llvm/lib/CodeGen RegAllocGreedy.h

!fixup fix format
DeltaFile
+3-3llvm/lib/CodeGen/RegAllocGreedy.h
+3-31 files

LLVM/project 32d0875 — lld/ELF InputFiles.cpp, lld/test/ELF sht-group-empty.test

[ELF] -r: Create kept SHT_GROUP sections as InputSection (#240234)

* If it has the SHF_MERGE flag, the group becomes a MergeInputSection
  and finalizeShtGroup crashes reading symbols from the internal file.
* If it is named .note.GNU-stack, it is incorrectly discarded.

Fix #235240
DeltaFile
+34-0lld/test/ELF/invalid/sht-group-merge.test
+13-1lld/test/ELF/sht-group-empty.test
+2-2lld/ELF/InputFiles.cpp
+49-33 files