LLVM/project e4d4d57 — offload/liboffload/API Program.td, offload/liboffload/src OffloadImpl.cpp

[Offload][Omp] Get device image through liboffload (#239252)

Add a new `olGetProgramInfo` API to retrieve information about a
`ol_program` and add properties to get the Device Image after loading.

Move the handling of `ImageIR` directly to libomptarget (only used for
Record Replay).

Use the new API to remove the helper calls and references to the
`DeviceImageTy` from the Plugin interface.

Assisted by Claude.
DeltaFile
+77-0offload/unittests/OffloadAPI/program/olGetProgramInfo.cpp
+48-0offload/unittests/OffloadAPI/program/olGetProgramInfoSize.cpp
+47-0offload/liboffload/API/Program.td
+30-4offload/liboffload/src/OffloadImpl.cpp
+27-1offload/libompaccsupport/Program.cpp
+14-7offload/libompaccsupport/device.cpp
+243-126 files not shown
+260-4412 files

LLVM/project 13ba23f — mlir/lib/Conversion/GPUToSPIRV WmmaOpsToSPIRV.cpp, mlir/test/Conversion/GPUToSPIRV wmma-ops-to-spirv-khr-coop-matrix.mlir

[mlir][SPIR-V] Derive Aligned memory operand for PhysicalStorageBuffer in vector.load/store coop matrix lowering (#239293)

Mirror calculateMemoryRequirements from MemRefToSPIRV.cpp, since
PhysicalStorageBuffer pointers carry no implicit alignment guarantee

Continuation of https://github.com/llvm/llvm-project/pull/214200
DeltaFile
+36-2mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
+36-0mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
+72-22 files

LLVM/project f5e5a10 — llvm/lib/CodeGen/GlobalISel Utils.cpp CombinerHelper.cpp, llvm/test/CodeGen/AArch64 combine-sdiv.ll

[GlobalISel] Support fixed vectors in constant-fold combines. (#220876)

This patch Extend the GlobalISel constant-folding combines to
element-wise fold **fixed vectors**, in addition to scalars. Previously
these rules only fired when the operands were scalar constants; a
`G_BUILD_VECTOR` of constants was left un-folded.

This covers all five families:
- Integer/pointer binops (`constant_fold_binop`)
- FP binops (`constant_fold_fp_binop`)
- FMA (`constant_fold_fma`)
- Integer casts — `G_ZEXT`/`G_SEXT`/`G_ANYEXT` (`constant_fold_cast_op`)
- FP unary ops — `G_FNEG`, `G_FABS`, `G_FSQRT`, `G_FLOG2`, `G_FPEXT`,
`G_FPTRUNC`, `G_FCEIL`, `G_FFLOOR`, `G_INTRINSIC_TRUNC/ROUND/ROUNDEVEN`,
`G_FRINT`, `G_FNEARBYINT` (`constant_fold_unary_fp_op_rule`)

This is a pre-requisite to support scalar/vector Ops constant foldings
for GISel MIR-pattern rules.


    [2 lines not shown]
DeltaFile
+207-108llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+295-0llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-constant-fold.mir
+175-0llvm/test/CodeGen/RISCV/GlobalISel/combine-constant-fold-vector-denormal.mir
+90-84llvm/test/CodeGen/AArch64/combine-sdiv.ll
+111-0llvm/lib/CodeGen/GlobalISel/Utils.cpp
+72-0llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-constant-fold-fp-unary.mir
+950-19230 files not shown
+1,360-47136 files

FreeBSD/ports 32b06a7 — devel/bazel9 Makefile distinfo

devel/bazel9: update to 9.3.2

Release notes:  https://github.com/bazelbuild/bazel/releases/tag/9.3.2
DeltaFile
+3-3devel/bazel9/distinfo
+1-1devel/bazel9/Makefile
+4-42 files

LLVM/project 28c43ac — llvm/lib/Target/SPIRV SPIRVModuleAnalysis.h SPIRVEmitIntrinsics.cpp

[SPIR-V] Use MapVector for per function maps (#239349)

Iterating a DenseMap keyed by Function pointers made the order of
FPFastMathDefault execution modes and their constants may vary between
runs with SPV_KHR_float_controls2
DeltaFile
+4-3llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+2-1llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
+6-42 files

LLVM/project bd654a8 — libcxx/docs/Helpers Styles.rst, libcxx/docs/Status Cxx26Papers.csv Cxx23Issues.csv

[libc++][docs] Introduce `Experimental` Implementation Status (#235526)

Resolves #234320

Introduces a new |Experimental| tag in which to mark experimental paper
implementations.

This also marks `optional::iterator`, `chrono::tzdb` (and related items)
and `<syncstream>` implementations as experimental based on the testing
`params.py`.

PSTL is deliberately left alone as I understand it is still in active
development.
DeltaFile
+10-10libcxx/docs/Status/Cxx20Issues.csv
+6-6libcxx/docs/Status/Cxx20Papers.csv
+10-1libcxx/utils/conformance
+3-0libcxx/docs/Helpers/Styles.rst
+1-1libcxx/docs/Status/Cxx26Papers.csv
+1-1libcxx/docs/Status/Cxx23Issues.csv
+31-196 files

LLVM/project 96ee926 — lld/MachO ICF.cpp, lld/test/MachO arm64-thunks.s icf-safe-thunks-callers.s

[lld][MachO] Change direct branch targets to ICF bodies
DeltaFile
+6-5lld/test/MachO/arm64-thunk-icf-body-dedup.s
+10-1lld/MachO/ICF.cpp
+4-4lld/test/MachO/icf-safe-thunks-callers.s
+2-2lld/test/MachO/arm64-thunks.s
+22-124 files

LLVM/project c836d17 — clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGenHLSL vector-truncation.hlsl

[CIR] Implement HLSL vector truncation cast (#239356)

Implement support for the HLSL vector truncation cast
DeltaFile
+42-0clang/test/CIR/CodeGenHLSL/vector-truncation.hlsl
+14-0clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+56-02 files

LLVM/project 867d599 — llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU twoaddr-wmma.mir

[AMDGPU] Update src2 live range when converting WMMA to three-address form (#239283)

Since #225174, `LiveIntervals` is computed before the two-address
instruction pass. A two-address WMMA ties `src2` to an early-clobber
`vdst`, so if `src2` dies at the WMMA, its live range ends at the
early-clobber slot. When the pass converts the WMMA to the three-address
form, `src2` is no longer tied and is read at the register slot, but
`SIInstrInfo::convertToThreeAddress` only updates the live range of the
def. The machine verifier then reports "Live segment ending at early
clobber slot must be redefined by an EC def in the same instruction".

This PR moves the end of such a segment to the register slot, for the
main range and the subranges.

Fixes LCOMPILER-3197.
DeltaFile
+36-0llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
+24-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+60-02 files

LLVM/project 45867db — lld/MachO ICF.cpp, lld/test/MachO arm64-thunks.s icf-safe-thunks-callers.s

[lld][MachO] Change direct branch targets to ICF bodies
DeltaFile
+15-1lld/MachO/ICF.cpp
+6-5lld/test/MachO/arm64-thunk-icf-body-dedup.s
+4-4lld/test/MachO/icf-safe-thunks-callers.s
+2-2lld/test/MachO/arm64-thunks.s
+27-124 files

LLVM/project 401e504 — llvm/test/tools/llvm-diff compare-flags.ll

[NFC][tests] compare-flags.ll: replace `sed -E` with Python one-liner

Addresses CI failure on AIX where `sed -E` is unsupported.
Avoids using two POSIX BREs per flag with plain `sed`.
DeltaFile
+1-1llvm/test/tools/llvm-diff/compare-flags.ll
+1-11 files

LLVM/project 9b9a80a — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp

[CIR][AMDGPU][SPIR-V] Lower AMDGPU feature predicate builtins (#229330)
DeltaFile
+41-0clang/test/CIR/CodeGenBuiltins/builtin-amdgcn-feature-predicates.c
+27-0clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+27-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+20-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+115-04 files

LLVM/project 651ecfb — lld/MachO ICF.cpp, lld/test/MachO icf-safe-thunks.ll icf-safe-thunks-callers.s

[lld][MachO] ICF functions with calls to thunks
DeltaFile
+219-0lld/test/MachO/icf-safe-thunks-callers.s
+22-9lld/MachO/ICF.cpp
+4-8lld/test/MachO/icf-safe-thunks.ll
+245-173 files

LLVM/project 75acd6c — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

update comment
DeltaFile
+2-3clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+2-31 files

LLVM/project b0ca430 — llvm/lib/Target/AMDGPU VOP3Instructions.td, llvm/test/CodeGen/AMDGPU remat-vop-gfx950-gfx1250.mir

[AMDGPU] Mark V_LSHL_ADD_U64 rematerializable (#238114)

V_LSHL_ADD_U64 has no side effects, so it can be rematerialized. _U32
version is already marked so.
Add a MIR test for gfx950 and gfx1250 covering rematerializing.

Assisted-by: Claude Sonnet 5.5
DeltaFile
+60-0llvm/test/CodeGen/AMDGPU/remat-vop-gfx950-gfx1250.mir
+2-1llvm/lib/Target/AMDGPU/VOP3Instructions.td
+62-12 files

LLVM/project 4a38cbb — llvm/include/llvm/Transforms/Utils Local.h, llvm/lib/Transforms/Scalar GVNHoist.cpp

[GVNHoist] call patchReplacementInstruction in rauw

In Replace all User With function, we actually need to relax flag for
hoisting. In one miscompilation bug we have (see:
https://github.com/llvm/llvm-project/issues/236581). We actually need
dropPoisonGeneratingFlags.

After taking a look at patchReplacementInstruction, we actually need
callsite relaxation also.

As a result, we make rauw call this function directly. The only
difference is that Hoisting actually move the instruction so we cannot
set combineMetadataForCSE to true. We add a parameter to pass the
value and set the value to false by default.

Assisted-by: Claude # Test
DeltaFile
+73-0llvm/test/Transforms/GVNHoist/hoist.ll
+72-0llvm/test/Transforms/GVNHoist/hoist-call.ll
+4-3llvm/include/llvm/Transforms/Utils/Local.h
+3-2llvm/lib/Transforms/Utils/Local.cpp
+1-2llvm/lib/Transforms/Scalar/GVNHoist.cpp
+153-75 files

FreeBSD/ports 96d1024 — www/librewolf Makefile distinfo

www/librewolf: Update 159.0-1 => 159.0.1-1

Release Notes:
https://www.firefox.com/en-US/firefox/159.0.1/releasenotes/

Changelog:
https://librewolf.dev/librewolf/bsys6/releases/tag/159.0.1-1

PR:             300536
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4

(cherry picked from commit 11585d377f298c5b2ae3f0c98cdaf52efb8dd536)
DeltaFile
+3-3www/librewolf/distinfo
+2-3www/librewolf/Makefile
+5-62 files

FreeBSD/ports 11585d3 — www/librewolf Makefile distinfo

www/librewolf: Update 159.0-1 => 159.0.1-1

Release Notes:
https://www.firefox.com/en-US/firefox/159.0.1/releasenotes/

Changelog:
https://librewolf.dev/librewolf/bsys6/releases/tag/159.0.1-1

PR:             300536
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4
DeltaFile
+3-3www/librewolf/distinfo
+2-3www/librewolf/Makefile
+5-62 files

LLVM/project 02d1be9 — llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU twoaddr-wmma.mir

[AMDGPU] Update src2 live range when converting WMMA to three-address form

Since #225174, `LiveIntervals` is computed before the two-address instruction
pass. A two-address WMMA ties `src2` to an early-clobber `vdst`, so if `src2`
dies at the WMMA, its live range ends at the early-clobber slot. When the pass
converts the WMMA to the three-address form, `src2` is no longer tied and is
read at the register slot, but `SIInstrInfo::convertToThreeAddress` only updates
the live range of the def. The machine verifier then reports "Live segment
ending at early clobber slot must be redefined by an EC def in the same
instruction".

This PR moves the end of such a segment to the register slot, for the main range
and the subranges.

Fixes LCOMPILER-3197.
DeltaFile
+36-0llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
+24-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+60-02 files

LLVM/project 8635f90 — orc-rt/include/orc-rt/bedrock BootstrapInfo.h, orc-rt/include/orc-rt/bedrock/sps GDBJITRegistrarSPSCI.h DWARFEHFrameRegistrarSPSCI.h

[orc-rt] Replace 'sps_ci' namespace with nested 'sps::ci'. (#239464)

Not all SPS-based utilities are CI (Controller Interface). To reflect
this, this commit breaks the `sps_ci` namespace up into an `sps`
namespace (to be shared between all code that depends on SPS), and a
nested `sps::ci` namespace for CI code that depends on SPS.
DeltaFile
+3-3orc-rt/lib/bedrock/sps/AllSPSCI.cpp
+2-2orc-rt/include/orc-rt/bedrock/sps/GDBJITRegistrarSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/CallSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/AllSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/BootstrapInfo.h
+13-1321 files not shown
+48-4827 files

FreeBSD/src aa5bef3 — . myproposal.h channels.c, openbsd-compat readpassphrase.c port-uw.c

Vendor import of OpenSSH 10.6p2

Sponsored by:   The FreeBSD Foundation
DeltaFile
+13-5openbsd-compat/xcrypt.c
+13-4auth-passwd.c
+8-8openbsd-compat/port-uw.c
+5-5openbsd-compat/readpassphrase.c
+3-4channels.c
+3-2myproposal.h
+45-2810 files not shown
+60-3716 files

LLVM/project 353638c — llvm/test/CodeGen/X86 vector-interleaved-load-i32-stride-8.ll vector-interleaved-load-i16-stride-7.ll

[X86] Enable SlotIndexes compaction by default

Compacting SlotIndexes before greedy allocation drops the entries of
erased instructions, so live range sizes and instruction distances
reflect the code being allocated rather than how much was erased
before it. AMDGPU has done this since #235806; do the same for X86.

Codegen changes only through allocation: no new crashes, verifier
errors or allocation failures in the lit suites, including
EXPENSIVE_CHECKS, and a stage-2 build of LLVM, clang and lld with
-verify-machineinstrs passes its own tests. On llvm-test-suite at -O3,
spills drop 0.3% and .text 0.06%, with compile time unchanged.

Most test updates are regenerated checks. misched-matmul now inserts
20 spills instead of 24. live-debug-vars-stale-slotindexes.mir gets
one more use of %27 so that accumulate_fit still reaches the stale
index path it was written for.
DeltaFile
+15,403-15,465llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
+13,329-13,243llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
+13,199-13,231llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+12,788-12,826llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
+11,796-11,778llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
+11,057-11,064llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
+77,572-77,607447 files not shown
+344,092-345,738453 files

LLVM/project 85c5c1b — lldb/source/Symbol Symbol.cpp

[lldb] Correct Symbol's ctor from another Symbol (#239381)

As I was working on another issue with Claude, it happened to see this
discrepency but it wasn't directly relevant to the work I was doing
there, so I'm handling it separately.

Symbol::operator= initializes m_size_is_synthesized of the lhs object to
the value of the rhs side's ivar.
But Symbol::Symbol(const Symbol &rhs) does not copy this ivar, it
initializes it to false. Likely someone copied the basic constructor's
init list and missed this variable.
DeltaFile
+2-1lldb/source/Symbol/Symbol.cpp
+2-11 files

LLVM/project ab854c6 — orc-rt/include/orc-rt-c/bedrock ControllerHandlerTag.h, orc-rt/include/orc-rt/bedrock Session.h

[orc-rt] Identify controller handlers by tag address (#239462)

orc_rt_ControllerHandlerTag was a void * whose value was passed to the
controller, but tags are meant to be global variables whose *address*
identifies the handler. Passing a tag variable's value instead would
silently pass the same (zero) value for every tag.

This commit makes orc_rt_ControllerHandlerTag a one-byte struct, moves
it into its own header (orc-rt-c/bedrock/ControllerHandlerTag.h), and
changes all APIs to take tags by pointer. Passing a tag by value is now
a compile error.

Tags must have distinct addresses, so:
- The struct is non-empty (an empty struct is a GNU extension in C, with
size 0, so distinct tags could share an address).
- Tags must not be const: the linker may fold identical read-only data
(e.g. under identical code folding). APIs take tags by non-const
pointer, so passing a const tag is an error in C++ and a warning in C.


    [8 lines not shown]
DeltaFile
+56-0orc-rt/include/orc-rt-c/bedrock/ControllerHandlerTag.h
+39-0orc-rt/test/unit/bedrock/ControllerHandlerTagTest.cpp
+23-0orc-rt/test/unit/bedrock/ControllerHandlerTagCTest.c
+10-10orc-rt/test/unit/bedrock/SessionTest.cpp
+6-5orc-rt/include/orc-rt/bedrock/Session.h
+7-4orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
+141-1910 files not shown
+155-3316 files

LLVM/project 657b49c — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Check for assume knowledge once per attribute query

hasAttr and getAttrs looked for assume knowledge separately for each
queried attribute kind, but most modules have none.

CTMark instructions:u with -attributor-enable=light changes by O3
-0.13%, ThinLTO -0.10%. The attributor-light pass itself is 1.6-4.1%
faster (callgrind), and 0.6-1.7% faster with the other pending
Attributor compile-time changes applied.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-6llvm/lib/Transforms/IPO/Attributor.cpp
+11-61 files

FreeBSD/ports 6e46391 — mail/py-resend Makefile distinfo

mail/py-resend: Update to 2.52.0

Changelog: https://github.com/resend/resend-python/releases/tag/v2.52.0

Reported by:    Repology
DeltaFile
+3-3mail/py-resend/distinfo
+2-2mail/py-resend/Makefile
+5-52 files

LLVM/project 96f74c4 — .github/workflows libcxx-lnt-refine-commits.yml, libcxx/utils/ci/lnt README.md detect-changepoints

[libc++] Adapt the LNT tooling to the new format of GET /series (#239352)

LNT's GET /series endpoint now accepts several metrics at a time, which
changes slightly its output format. Update the scripts to account for
that.

Assisted by Claude
DeltaFile
+23-9libcxx/utils/ci/lnt/detect-changepoints
+3-2.github/workflows/libcxx-lnt-refine-commits.yml
+1-1libcxx/utils/ci/lnt/README.md
+27-123 files

LLVM/project ae1c514 — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

Add braces for a large single statement.
DeltaFile
+2-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+2-11 files

FreeBSD/ports ff4fbd4 — misc/crush Makefile distinfo, misc/crush/files extra-patch-disable-command-blocking

misc/crush: Update to 0.100.0

While here, remove DISABLE_COMMAND_BLOCKING option.

Upstream has introduced "sysadmin mode" in which crush can run any
command, which is essentially equivalent to
DISABLE_COMMAND_BLOCKING. In addition, the upstream has also
introduced "permission" command with which you can configure which
commands are dangerous to your system.

Changelog: https://github.com/charmbracelet/crush/releases/tag/v0.100.0

Reported by:    GitHub (watch releases)
DeltaFile
+0-110misc/crush/files/extra-patch-disable-command-blocking
+0-17misc/crush/pkg-message
+5-5misc/crush/distinfo
+3-5misc/crush/Makefile
+8-1374 files

LLVM/project e0adbab — llvm/test/CodeGen/X86 callbr-asm-indirect-output.ll

use -filetype=null

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/test/CodeGen/X86/callbr-asm-indirect-output.ll
+1-11 files