LLVM/project 77f8fbf — llvm/lib/CodeGen/GlobalISel Utils.cpp, llvm/test/CodeGen/AArch64 bf16-v8-instructions.ll bf16-v4-instructions.ll

[GlobalISel] Use G_FCONSTANT semantics in getFConstantVRegValWithLookThrough (#236404)

Currently, `getFConstantVRegValWithLookThrough` picked the APFloat
semantics from the bit width alone, so bf16 got read as half and s80
x86_fp80 hit the "Invalid FP type size" unreachable in
getFltSemanticForLLT.

Take the semantics from the G_FCONSTANT instead. If a looked-through
trunc/ext resized the value, fall back to the IEEE type for the new
width, or bail if there is none.

Test changes:
- AArch64: `x * bf16 0xR3C00` (0.0078125, but half 1.0) no longer folds
to x, and `x * bf16 1.0` now does. In bf16-v4/v8 test_reduce_fmul_fast
without +bf16, the start-value fmul now goes away, dropping a redundant
round-to-bf16 sequence.
- X86: s80 `x * 1.0` folds instead of crashing.
- AMDGPU: the gfx1250 wmma bf16 1.0 splat is now an inline imm, same as
SelectionDAG.
DeltaFile
+170-0llvm/test/CodeGen/AArch64/GlobalISel/combine-fconstant-bf16.mir
+22-3llvm/lib/CodeGen/GlobalISel/Utils.cpp
+19-0llvm/test/CodeGen/X86/GlobalISel/prelegalizer-combiner-identity.mir
+1-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
+0-7llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
+0-7llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
+212-251 files not shown
+215-267 files

LLVM/project 66b27ef — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use <2 x i64> for i128 libcall types on Win64

Win64 passes __int128 by reference and returns it in XMM0. i128 uses
GPR pairs, and <2 x i64> uses the correct vector register. This
matches the type AtomicExpand and clang uses for these functions.

Also fix AtomicExpand to use the correct type for UEFI (which should
eventually use the type information in RuntimeLibcallsInfo).

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+581-144llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+84-0llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall-i128-win64.ll
+8-2llvm/lib/IR/RuntimeLibcalls.cpp
+2-2llvm/lib/CodeGen/AtomicExpandPass.cpp
+1-0llvm/test/CodeGen/X86/atomic-nocx16-win.ll
+676-1485 files

FreeBSD/ports 04830d1 — devel/fifechan Makefile, devel/fifechan/files patch-CMakeLists.txt

devel/fifechan: the port had been improved (+)

- Stretch out CMAKE_MINIMUM_REQUIRED() version range
  to accommodate for upcoming CMake 4.x and beyond
- Note that version 0.2.0 is available, however not
  compatible with current `games/py-fife' port which
  is already at its latest version (as of right now)
- Adjust the option knob order and some descriptions
DeltaFile
+7-9devel/fifechan/Makefile
+9-0devel/fifechan/files/patch-CMakeLists.txt
+16-92 files

LLVM/project 3104f29 — mlir/lib/Dialect/SCF/Transforms LoopSpecialization.cpp, mlir/test/Dialect/SCF parallel-loop-specialization.mlir

[mlir][scf] Preserve parallel loop results during specialization (#212409)

This PR preserves the results of `scf.parallel` operations during
parallel loop specialization. The generated `scf.if` now has the
original loop result types, and both branches yield the results of their
cloned loops before replacing the original uses.

A regression test covers a result-producing parallel reduction whose
result is returned by the function.

Fixes #205231

Assisted-by: codex
DeltaFile
+31-0mlir/test/Dialect/SCF/parallel-loop-specialization.mlir
+12-3mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
+43-32 files

LLVM/project e942201 — flang/lib/Optimizer/Transforms LoopInvariantCodeMotion.cpp, flang/test/Transforms licm-modref-cache.fir

[flang] Cache in flang-licm which locations a loop may modify

Hoisting a load asks the alias analysis whether the loop may modify each
location the load reads, and the answer depends only on the loop and the
location. The loads of a loop read the same few locations over and over, so
flang-licm asked the same question many times: on a large OpenACC region 97%
of the queries of a run repeated an earlier one, and with alias analysis
implementations that are expensive to query the pass took minutes.

Cache the answers of a run, keyed by the loop and the location, in a small
LoopModifiesLocationCache that the pass owns. It is valid for the whole run
because the pass only hoists operations that have no effects or only read: it
never moves a write, so a location that is not modified in a loop does not
become modified in it. Only whether the location may be modified is used, as
before.

-debug-only=flang-licm-cache prints, for each run, how many queries were
answered from the cache and how many asked the alias analysis.
DeltaFile
+105-0flang/test/Transforms/licm-modref-cache.fir
+67-3flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
+172-32 files

LLVM/project aeadb75 — flang/lib/Optimizer/Transforms LoopInvariantCodeMotion.cpp

Handle review comments
DeltaFile
+3-3flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
+3-31 files

LLVM/project 8b11ac5 — llvm/lib/Target/AMDGPU VOPInstructions.td DSInstructions.td

[AMDGPU][NFC] Use Select helpers for more real instruction encodings (#238112)

Replace explicit SIMCInstr, AssemblerPredicate and DecoderNamespace
settings with the Select/Select_vi/Select_gfx6_gfx7 helpers in
SMRD_Real_si, DS_Real_Base_vi, VBUFFER_Real_gfx12, VBUFFER_Real_gfx13
and VOP3be_Real_dpp.

FLATInstructions.td was handled in
https://github.com/llvm/llvm-project/pull/237849
DeltaFile
+2-9llvm/lib/Target/AMDGPU/BUFInstructions.td
+1-6llvm/lib/Target/AMDGPU/SMInstructions.td
+1-5llvm/lib/Target/AMDGPU/DSInstructions.td
+1-4llvm/lib/Target/AMDGPU/VOPInstructions.td
+5-244 files

LLVM/project 11827b9 — llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/lib/Target/RISCV RISCVISelLowering.cpp

[SelectionDAG] Narrow (shr (sub A, B), 1) to AVGSUBFLOOR (#233635)

Add combineShiftToAVGSUB, which forms AVGSUBFLOORS/AVGSUBFLOORU on a
narrower
type when both operands are known to be extended from it, so the
subtract
can't overflow. This is similar to combineShiftToAVG.

The node is only formed if it is legal or custom on the narrow type or
the original type after type legalization. As long as type legalization
won't change the element type. This covers WidenVector, SplitVector and
ScalarizeVector. This can be relaxed in the future.

Remove the RISC-V P extension truncate combine for (P)ASUB(U) since this
is now handled by the generic combine.

Co-Authored-By: Claude Sonnet 5.5 <noreply at anthropic.com>
DeltaFile
+198-0llvm/test/CodeGen/RISCV/rvp-avgsub.ll
+113-6llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+0-11llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+311-173 files

LLVM/project 27a2da4 — llvm/docs ReleaseNotes.md LangRef.md, llvm/lib/Target/RISCV RISCVCallingConv.td

[RISCV] Remove X5 from CSR_RT_MostRegs/CSR_RT_MostRegs_RVE (#238090)

X5 is used by the PLT header, register restore libcall, and machine
outlining. I don't think it's practical to preserve it.

Fixes #235751
DeltaFile
+60-68llvm/test/CodeGen/RISCV/calling-conv-preserve-most.ll
+1-1llvm/lib/Target/RISCV/RISCVCallingConv.td
+1-1llvm/docs/LangRef.md
+1-0llvm/docs/ReleaseNotes.md
+63-704 files

LLVM/project 98740a7 — lld/ELF Driver.cpp

[ELF] Simplify LinkerDriver::addFile. NFC (#238218)

by unifying the LoadJob call sites. A few members are ignored by the
`LoadJob::Binary` case.
DeltaFile
+16-30lld/ELF/Driver.cpp
+16-301 files

LLVM/project e387e12 — llvm/test/MC/RISCV xaifet-amo-valid.s xqcibm-invalid.s, llvm/test/MC/RISCV/corev XCVsimd.s XCVsimd-invalid.s

[nspr] initial commit
DeltaFile
+1,356-1,357llvm/test/MC/RISCV/corev/XCVsimd-invalid.s
+881-882llvm/test/MC/RISCV/corev/XCVsimd.s
+514-515llvm/test/MC/RISCV/rvv/zvlsseg.s
+303-307llvm/test/MC/RISCV/zfa-valid.s
+280-282llvm/test/MC/RISCV/xqcibm-invalid.s
+182-184llvm/test/MC/RISCV/xaifet-amo-valid.s
+3,516-3,527255 files not shown
+8,424-8,666261 files

LLVM/project 64f1319 —

[nspr] update
DeltaFile
+0-00 files

LLVM/project b581457 — lld/MachO ICF.cpp, lld/test/MachO icf-fold-dwarf-frame.s

[lld][MachO] Ignore FDE padding in ICF (#236075)

MC pads each FDE so that it ends at a multiple of its address size, so
the same FDE gets different padding depending on where it starts. ICF
required FDEs to have equal sizes, so identical functions could fail to
fold depending on where their FDEs were placed. Ignore the length field
and trailing DW_CFA_nop padding.
DeltaFile
+15-1lld/MachO/ICF.cpp
+8-6lld/test/MachO/icf-fold-dwarf-frame.s
+23-72 files

LLVM/project 1dbd6e0 — llvm/utils convert_mc_test_to_verify.py

[nspr] initial commit
DeltaFile
+208-0llvm/utils/convert_mc_test_to_verify.py
+208-01 files

LLVM/project e6f8a48 — llvm/docs/CommandGuide llvm-mc.md, llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[nspr] initial commit
DeltaFile
+23-10llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+15-10llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+22-2llvm/test/tools/llvm-mc/verify/basic.s
+9-7mlir/docs/Diagnostics.md
+4-1llvm/tools/llvm-mc/llvm-mc.cpp
+4-1llvm/docs/CommandGuide/llvm-mc.md
+77-311 files not shown
+79-327 files

LLVM/project 3a55fec — llvm/lib/Support SourceMgrDiagnosticVerifier.cpp, llvm/test/tools/llvm-mc/verify highlight.s

[nspr] initial commit
DeltaFile
+2-3llvm/test/tools/llvm-mc/verify/highlight.s
+2-2llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+1-1mlir/docs/Diagnostics.md
+5-63 files

LLVM/project 41ad2f5 — mlir/test/Dialect/Transform expensive-checks.mlir, mlir/test/Examples/transform/Ch1 invalidation-1.mlir

[nspr] update
DeltaFile
+2-2mlir/test/Examples/transform/Ch1/invalidation-1.mlir
+1-1mlir/test/Dialect/Transform/expensive-checks.mlir
+3-32 files

LLVM/project c724090 — llvm/docs/CommandGuide llvm-mc.md, llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[nspr] update
DeltaFile
+16-37llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+13-5llvm/tools/llvm-mc/llvm-mc.cpp
+8-8llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+2-1llvm/docs/CommandGuide/llvm-mc.md
+39-514 files

LLVM/project c73c3d8 — clang/lib/AST/ByteCode Block.h

[clang][bytecode][NFC] Remove unused `Block::getMetadataSize()` (#238031)
DeltaFile
+1-3clang/lib/AST/ByteCode/Block.h
+1-31 files

LLVM/project 5688525 — llvm/include/llvm/IR IntrinsicsRISCV.td, llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV][P-ext] Convert Intrinsic::riscv_pmerge to RISCVISD::MERGE in ReplaceNodeResults. (#238140)

Instead of emitting a new intrinsic. This is possible now that we have
patterns for RISCVISD::MERGE that don't use bitcasts to scalar.

Annoyingly the operands are in a different order because RISCVISD::MERGE
matches the operand order of the merge instruction while the intrinsic
takes the operand from RVV's vmerge.
DeltaFile
+6-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-1llvm/include/llvm/IR/IntrinsicsRISCV.td
+7-12 files

FreeBSD/ports 4f94115 — devel/R-cran-pbapply Makefile

devel/R-cran-pbapply: Add TEST_DEPENDS

Add future, future.apply and shiny as test depends.

PR:             296811
Reported by:    uzsolt
Approved by:    jrm (mentor)
Differential Revision:  https://reviews.freebsd.org/D61098
DeltaFile
+4-0devel/R-cran-pbapply/Makefile
+4-01 files

FreeBSD/ports f13696e — www/py-django-constance distinfo Makefile

www/py-django-constance: Update 4.3.5 to 4.5.0

Update WWW since the project moved to django-commons.
4.5.0 requires Python 3.10+

Changelog: https://github.com/django-commons/django-constance/releases/tag/4.5.0
Approved by:    jrm (mentor)
Differential Revision:  https://reviews.freebsd.org/D61097
DeltaFile
+3-3www/py-django-constance/distinfo
+3-3www/py-django-constance/Makefile
+6-62 files

FreeBSD/ports acf7e98 — www/pocketbase Makefile distinfo

www/pocketbase: Update 0.40.5 to 0.40.6

Changelog: https://github.com/pocketbase/pocketbase/releases/tag/v0.40.6
Approved by:    jrm (mentor)
Differential Revision:  https://reviews.freebsd.org/D61095
DeltaFile
+5-5www/pocketbase/distinfo
+1-2www/pocketbase/Makefile
+6-72 files

LLVM/project 49b3d49 — llvm/include/llvm/IR RuntimeLibcalls.h, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Handle int and long size more similarly

Previously we eagerly computed the int size and passed it through all
the various functions to get the type signature. The long cases were
evaluated in the context that need a long. Treat these the same way
which reduces the number of arguments passed around.
DeltaFile
+13-9llvm/lib/IR/RuntimeLibcalls.cpp
+1-1llvm/include/llvm/IR/RuntimeLibcalls.h
+14-102 files

LLVM/project be8806b — flang/lib/Lower ConvertCall.cpp, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Support for nocontext and novariants clauses for dispatch construct (#227954)

Support for nocontext and novariants clauses for dispatch construct in
flang.
DeltaFile
+533-6flang/test/Lower/OpenMP/dispatch.f90
+245-103flang/lib/Lower/ConvertCall.cpp
+242-0flang/test/Integration/OpenMP/dispatch.f90
+152-0flang/test/Fir/OpenMP/dispatch.fir
+48-2flang/lib/Lower/OpenMP/OpenMP.cpp
+50-0flang/test/Semantics/OpenMP/dispatch.f90
+1,270-1118 files not shown
+1,380-13514 files

LLVM/project c75fe30 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt sendfile.h, libc/src/sys/sendfile/linux CMakeLists.txt sendfile.cpp

[libc] Use a syscall wrapper for sendfile (#237955)

This PR move sendfile behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
DeltaFile
+46-0libc/src/__support/OSUtil/linux/syscall_wrappers/sendfile.h
+40-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+5-17libc/src/sys/sendfile/linux/sendfile.cpp
+15-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-2libc/src/sys/sendfile/linux/CMakeLists.txt
+110-195 files

LLVM/project 0a16c20 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt uname.h, libc/src/sys/utsname/linux CMakeLists.txt uname.cpp

[libc] Use a syscall wrapper for uname (#237954)

This PR move uname behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
DeltaFile
+50-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+35-0libc/src/__support/OSUtil/linux/syscall_wrappers/uname.h
+7-8libc/src/sys/utsname/linux/uname.cpp
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-2libc/src/sys/utsname/linux/CMakeLists.txt
+109-105 files

LLVM/project 77f22af — llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Stop returning an attribute when getting libcall types (#238209)

The attribute half of the pair has been empty since the extension
attributes moved to getIntExtAttr, so return just the type.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+40-47llvm/lib/IR/RuntimeLibcalls.cpp
+40-471 files

LLVM/project 3f06a35 — llvm/lib/CodeGen/LiveDebugValues LiveDebugValues.cpp

Not sure why the bot needs this include but I don't
DeltaFile
+1-0llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
+1-01 files

LLVM/project b171152 — llvm/include/llvm/IR Module.h, llvm/lib/CodeGen/AsmPrinter DwarfDebug.cpp

Actually resolve the default in Module
DeltaFile
+2-1llvm/include/llvm/IR/Module.h
+0-2llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+1-1llvm/lib/IR/Module.cpp
+3-43 files