LLVM/project fc7c506 — llvm/test/TableGen atomic-store-trunc-patfrags.td, llvm/utils/TableGen GlobalISelEmitter.cpp

TableGen: Allow IsTruncStore predicates on atomic PatFrags (#229687)

Atomic stores can be truncating in the same way as regular stores. Allow 
IsTruncStore and IsNonTruncStore to be set on atomic store PatFrags so 
patterns can check the store is not truncating without needing to specify 
a fixed memory size.

I still find the hierarchy of load/store PatFrags frustrating. This would be 
easier if we fixed the legacy mistake of treating atomic store  as an
"atomic" rather than a store.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+40-0llvm/test/TableGen/atomic-store-trunc-patfrags.td
+29-8llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+1-1llvm/utils/TableGen/GlobalISelEmitter.cpp
+70-93 files

LLVM/project cade688 — llvm/test/CodeGen/AArch64 bf16-imm.ll f16-imm.ll

[AArch64][GlobalISel] More test coverage for vector immediates. NFC (#229928)
DeltaFile
+175-21llvm/test/CodeGen/AArch64/arm64-vector-imm.ll
+109-21llvm/test/CodeGen/AArch64/f16-imm.ll
+92-15llvm/test/CodeGen/AArch64/bf16-imm.ll
+376-573 files

LLVM/project 735cf62 — clang-tools-extra/clangd/refactor/tweaks ExtractFunction.cpp, clang-tools-extra/clangd/unittests/tweaks ExtractFunctionTests.cpp

[clangd] Extract to function: Do not reject unconditionally in C files

If the parameters can be passed by value, extraction in C files works
the same way as for C++. Otherwise, due to the lack of references, a
pointer parameter is used instead, with the call site taking its address
and every use inside the extracted body rewritten into a dereference.

Assisted-by: Claude Code

Closes https://github.com/clangd/clangd/issues/1810
DeltaFile
+250-39clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
+170-3clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.md
+425-423 files

LLVM/project 4d309e5 — lldb/include/lldb/Utility AnsiTerminal.h

[lldb] Avoid UB in ansi::TrimAtWordBoundary() (#229324)

`UtilityTest` fails on Windows in the debug configuration when
`AnsiTerminal.TrimAtWordBoundary()` calls `ansi::TrimAtWordBoundary()`
with Unicode strings containing bytes with the high bit set, which leads
to `std::isspace()` being called with a negative value. C11 §7.4
paragraph 1 requires the argument to be representable as unsigned char
or equal to EOF. Passing any other value is UB.
DeltaFile
+6-3lldb/include/lldb/Utility/AnsiTerminal.h
+6-31 files

FreeBSD/ports 35ca4a9 — misc/py-hf-xet Makefile Makefile.crates

misc/py-hf-xet: Update to 1.7.0

Changelog: https://github.com/huggingface/xet-core/releases/tag/v1.7.0

Reported by:    Repology
DeltaFile
+27-17misc/py-hf-xet/distinfo
+12-7misc/py-hf-xet/Makefile.crates
+1-2misc/py-hf-xet/Makefile
+40-263 files

LLVM/project 8020411 — clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP target_vtable_codegen_incomplete.cpp

[clang][OpenMP] Fix assertion in vtable registration for incomplete types (#229521)

Assertion failure, "queried property of class with no definition", when
mapping a pointer to incomplete type. Function 'emitAndRegisterVTable()'
assumed types would always be complete when mapped. When it's not (as in
it has no definition), there is no vtable to emit/register, so it should
just be skipped rather than assert fail.
DeltaFile
+65-0offload/test/offloading/target_map_incomplete_type.cpp
+15-0clang/test/OpenMP/target_vtable_codegen_incomplete.cpp
+1-1clang/lib/CodeGen/CGOpenMPRuntime.cpp
+81-13 files

LLVM/project a795dfa — libcxx/include/__locale_dir/support/no_locale characters.h, libcxx/test/std/depr/depr.c.headers signal_h.compile.pass.cpp

[libcxx] Fix indirect includes for nolocale (#229601)

The indirect include tests for several headers were failing when turning
on filesystem for LLVM-libc. This turned out to be because the nolocale
header was leaking ctime and other headers when building outside of
library mode. This PR just moves all the includes under the library
guard.
DeltaFile
+10-10libcxx/include/__locale_dir/support/no_locale/characters.h
+0-3libcxx/test/std/language.support/support.runtime/csignal.pass.cpp
+0-3libcxx/test/std/depr/depr.c.headers/signal_h.compile.pass.cpp
+10-163 files

LLVM/project 52c1143 — llvm/lib/Transforms/InstCombine InstCombineCasts.cpp, llvm/test/Transforms/InstCombine/AArch64 lshr-trunc-sext-to-ashr-sext.ll

[InstCombine] Move sext(trunc(lshr(...))) combine before same type combine (#227322)

The same type sext(trunc(...)) combine will fire on the lshr case, but
the lshr produces one less shift. Move it afterwards to give the lshr
combine a chance to fire first.

Doing this fold early improves codegen for this pattern seen in x264:

```c
int f(short x) {
  x = (x + 32) >> 6;
  return x;
}
```

- RISC-V: https://godbolt.org/z/djWza678o
- AArch64: https://godbolt.org/z/adbv49Yx5
- X86: https://godbolt.org/z/azsWKW9bq


    [2 lines not shown]
DeltaFile
+7-7llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+2-3llvm/test/Transforms/InstCombine/X86/lshr-trunc-sext-to-ashr-sext.ll
+2-3llvm/test/Transforms/InstCombine/RISCV/lshr-trunc-sext-to-ashr-sext.ll
+2-3llvm/test/Transforms/InstCombine/AArch64/lshr-trunc-sext-to-ashr-sext.ll
+13-164 files

LLVM/project 9594c0d — llvm/lib/Transforms/InstCombine InstCombineCasts.cpp, llvm/test/Transforms/InstCombine/AArch64 lshr-trunc-sext-to-ashr-sext.ll

[InstCombine] Move sext(trunc(...)) combines before EvaluateInDifferentType (#227321)

EvaluateInDifferentType loses some of the sign bit information which the
sext(trunc(...)) combines can use to remove intermediate casts, so run
the latter earlier. This helps towards fixing a codegen pattern in x264

Tests written with opus 5.5
DeltaFile
+31-31llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+32-0llvm/test/Transforms/InstCombine/X86/lshr-trunc-sext-to-ashr-sext.ll
+32-0llvm/test/Transforms/InstCombine/RISCV/lshr-trunc-sext-to-ashr-sext.ll
+32-0llvm/test/Transforms/InstCombine/AArch64/lshr-trunc-sext-to-ashr-sext.ll
+127-314 files

LLVM/project 07536a4 — llvm/lib/Transforms/InstCombine InstCombineCasts.cpp, llvm/test/Transforms/InstCombine lshr-trunc-sext-to-ashr-sext.ll

[InstCombine] Generalize sext (trunc (lshr Y, C)) -> sext/trunc (ashr Y, C) to other shift amounts (#227320)

This existing combine removed an intermediate truncate when a lshr
shifted exactly by the number of bits truncated, as the sign bit was
guaranteed to be in the MSB of the truncated type:

                   b7  b6  b5  b4    b3  b2  b1  b0
    Y              s   y6  y5  y4 :  y3  y2  y1  y0
    lshr Y, 4      0   0   0   0  :  s   y6  y5  y4
    trunc to i4    -   -   -   -  :  s   y6  y5  y4
    sext           s*  s*  s*  s* :  s   y6  y5  y4
    ashr Y, 4      s   s   s   s  :  s   y6  y5  y4

This generalizes it to any shift amount that's known to put a sign bit
in the MSB, i.e. `numSignBits(Y) + ShiftAmt > numBitsTruncated`:

                   b7  b6  b5  b4    b3  b2  b1  b0
    Y              s   s   s   y4 :  y3  y2  y1  y0
    lshr Y, 2      0   0   s   s  :  s   y4  y3  y2

    [5 lines not shown]
DeltaFile
+51-0llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
+9-4llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+60-42 files

LLVM/project 33ec29c — llvm/docs MLGO.md

[MLGO][Docs] Document MLIR based model embedding (#227536)

Documents how to embed TOSA models through the TOSA → EmitC → C++
pipeline.
DeltaFile
+53-15llvm/docs/MLGO.md
+53-151 files

LLVM/project eb6dc65 — offload/plugins-nextgen/common/OMPT OmptProfiler.cpp OmptProfiler.h

[Offload][OMPT] Drop device lifecycle handling from OmptProfilerTy

Since #221726, libomptarget emits the device_initialize,
device_finalize and device_load callbacks itself, and GenericProfilerTy
no longer has the hooks the plugins used to report these events. The
overrides were left without callers and still used
GenericPluginTy::getUserId(), which #221726 removed, so the file would
not compile once it is built. Remove them together with the per-profiler
callback copies and the initialization flag only they used.

Assisted-by: Claude Code
DeltaFile
+0-54offload/plugins-nextgen/common/OMPT/OmptProfiler.h
+0-46offload/plugins-nextgen/common/OMPT/OmptProfiler.cpp
+0-1002 files

LLVM/project d280e72 — offload/include/OpenMP/OMPT OmptCommonDefs.h, offload/plugins-nextgen/common/OMPT OmptDeviceTracing.h OmptTracing.cpp

[Offload][OMPT] Call device tracing entry points directly

The plugin-side tracing code reached the libomptarget-side entry points by
dlopen'ing "libomptarget.so" and dlsym'ing each libomptarget_ompt_* symbol
on first use. That indirection dates back to when libomptarget and the
plugins were separate shared objects. They are not: PluginOmpt is linked
into omptarget itself, so the library was dlopen'ing itself to look up its
own symbols. The callback path was already converted to direct calls; the
tracing path should never have reintroduced the pattern.

Declare the entry points in OmptCommonDefs.h and call them directly. This
removes ParentLibrary, ensureFuncPtrLoaded(), the generated function
pointers, and the libomptarget_ompt_*_t typedefs (two of which were
duplicates, and three of which were never used).

Calling directly also means the symbols no longer have to be exported, so
no version script entry is needed for them.

The per-entry-point mutexes are left untouched here: they currently wrap

    [4 lines not shown]
DeltaFile
+13-75offload/plugins-nextgen/common/OMPT/OmptTracing.cpp
+21-20offload/include/OpenMP/OMPT/OmptCommonDefs.h
+0-34offload/plugins-nextgen/common/OMPT/OmptDeviceTracing.h
+34-1293 files

LLVM/project 85a7717 — offload/plugins-nextgen/common/OMPT OmptProfiler.cpp OmptProfiler.h

[Offload][OMPT] Replace generic profiler data hooks with OMPT API

GenericProfilerTy no longer exposes getProfilerSpecificData() or
getTraceRecordManager(), so OmptProfilerTy provides the OMPT-specific
entry points directly: trackAsyncRecord() creates the event info that
carries a trace record into the plugins, and getOmptProfiler() gives
libomptarget typed access to the process-wide profiler. Keeping the
OMPT types out of the generic interface lets the plugins stay agnostic
of the profiling backend.

The buffer manager member moves back out until the tracing buffer
infrastructure exists later in the series.

Assisted-by: Claude Code
DeltaFile
+14-17offload/plugins-nextgen/common/OMPT/OmptProfiler.h
+4-4offload/plugins-nextgen/common/OMPT/OmptProfiler.cpp
+18-212 files

LLVM/project d9534f3 — offload/include/OpenMP/OMPT OmptEventInfoTy.h OmptCommonDefs.h, offload/plugins-nextgen/common/OMPT OmptDeviceTracing.h OmptProfiler.cpp

[Offload][OMPT] Add OMPT profiler implementation

Add the OMPT-specific profiler types and plugin tracing implementation without compiling or activating them yet. The existing callback path remains authoritative until the tracing interface and orchestration dependencies are available.

Assisted-by: Claude Code
DeltaFile
+318-0offload/plugins-nextgen/common/OMPT/OmptTracing.cpp
+179-0offload/plugins-nextgen/common/OMPT/OmptProfiler.h
+156-0offload/plugins-nextgen/common/OMPT/OmptProfiler.cpp
+134-0offload/plugins-nextgen/common/OMPT/OmptDeviceTracing.h
+127-0offload/include/OpenMP/OMPT/OmptCommonDefs.h
+39-0offload/include/OpenMP/OMPT/OmptEventInfoTy.h
+953-01 files not shown
+958-07 files

LLVM/project 29faf85 — offload/plugins-nextgen/amdgpu/src rtl.cpp, offload/plugins-nextgen/common/include PluginInterface.h

[Offload][AMDGPU] Wire HSA profiling into GenericProfiler abstraction

Add device profiling infrastructure to the AMDGPU plugin so that the
GenericProfiler can receive nanosecond-accurate kernel execution and
data transfer timestamps from the HSA runtime.

Key changes:
- Add ProfilingInfoTy struct to transport HSA profiling data
- Add timeKernelInNsAsync/timeDataTransferInNsAsync callbacks that
  extract dispatch/copy times from HSA signals and call
  handleKernelCompletion/handleDataTransfer on the profiler
- Add getOrNullProfilerSpecificData helper to extract ProfilerData
  from AsyncInfoWrapperTy
- Add getDeviceTimeStamp() override using hsa_system_get_info
- Add getSystemTimestampInNs() for HSA system timestamp queries
- Add schedProfilerKernelTiming/schedProfilerDataTransferTiming to
  StreamSlotTy for scheduling profiler callbacks on stream slots
- Thread ProfilerSpecificData through pushKernelLaunch,
  pushMemoryCopyH2DAsync, pushMemoryCopyD2HAsync, pushMemoryCopyD2DAsync

    [6 lines not shown]
DeltaFile
+214-21offload/plugins-nextgen/amdgpu/src/rtl.cpp
+17-7offload/plugins-nextgen/cuda/src/rtl.cpp
+14-7offload/plugins-nextgen/common/include/PluginInterface.h
+13-7offload/plugins-nextgen/common/src/PluginInterface.cpp
+8-4offload/plugins-nextgen/level_zero/src/L0Device.cpp
+8-4offload/plugins-nextgen/host/src/rtl.cpp
+274-505 files not shown
+293-5511 files

LLVM/project 4e1336f — offload/plugins-nextgen/amdgpu/src rtl.cpp, offload/plugins-nextgen/common/include PluginInterface.h GenericProfiler.h

[Offload] Add GenericProfilerTy abstraction and APITypes extensions (#225639)

Introduce GenericProfilerTy alongside the existing OMPT callback
dispatch.
The weak profiler factory returns a no-op implementation, so the new
hooks are silent while the established callback path continues to handle OMPT
device events.

Co-Authored-By: Dhruva Chakrabarti <dhruva.chakrabarti at amd.com>
Co-Authored-By: Michael Halkenhauser
<michaelgerald.halkenhauser at amd.com>
Assisted-by: Claude Code

---

<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
+200-0offload/plugins-nextgen/common/include/GenericProfiler.h
+70-35offload/plugins-nextgen/common/src/PluginInterface.cpp
+44-24offload/plugins-nextgen/common/include/PluginInterface.h
+36-0offload/plugins-nextgen/common/src/GenericProfiler.cpp
+14-13offload/plugins-nextgen/amdgpu/src/rtl.cpp
+11-8offload/plugins-nextgen/host/src/rtl.cpp
+375-807 files not shown
+397-9313 files

NetBSD/pkgsrc bprbZyi — doc CHANGES-2026

   doc: Updated graphics/libvips to 8.18.7
VersionDeltaFile
1.6792+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc 71h7bIm — graphics/libvips Makefile distinfo

   libvips: update to 8.18.7.

   Fix test target.

   20/9/26 8.18.7

   - tiffload: copy colormaps on page load [Ada Logics]
   - buildlut: limit output lut size [Ada Logics]
   - tiffload: check for undersized jp2k tiles [Ada Logics]
   - hough_line: improve bounds check [Ada Logics]
   - pdfiumload: check for buffer too small [Ada Logics]
   - tiffload: check rgba settings between directories [Tanto Security]
   - uhdrload: calculate gain map scale factor using round-to-nearest [lovell]
   - jp2ksave: tag as UNTRUSTED [kleisauke]
   - header: only parse EXIF metadata for blob values [Shopify]
   - jp2kload: more size validation [Akokonunes]

   25/8/26 8.18.6


    [170 lines not shown]
VersionDeltaFile
1.3+7-7graphics/libvips/PLIST
1.3+4-4graphics/libvips/distinfo
1.20+4-3graphics/libvips/Makefile
+15-143 files

LLVM/project 63d485c — clang/lib/CIR/CodeGen CIRGenFunction.cpp CIRGenExpr.cpp, clang/test/CIR/CodeGenHIP amdgcnspirv-builtins.hip

[CIR][SYCL] Local Generic Addrspace (#229281)

CIR resolved the default address space of stack allocas to `AS0`, so on
`SPIR` targets `&local` in SYCL device code was a private pointer while
default pointer types are generic (`addrspace(4)`), leading to private
pointers being stored into generic slots.

Resolve it through `getTargetAddressSpace` as classic CodeGen does, and
also store parameters through the cast address and keep the destination
address space in `emitArrayInit`

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+336-0clang/test/CIR/CodeGenSYCL/address-space-conversions.cpp
+229-0clang/test/CIR/CodeGenSYCL/local-temporaries.cpp
+171-0clang/test/CIR/CodeGenSYCL/address-space-deduction.cpp
+9-0clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+1-5clang/test/CIR/CodeGenHIP/amdgcnspirv-builtins.hip
+2-1clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+748-62 files not shown
+750-88 files

FreeBSD/ports de11be8 — textproc/tgrep Makefile Makefile.crates

textproc/tgrep: Update to 1.1.0

Changelog: https://github.com/microsoft/tgrep/releases/tag/v1.1.0

Reported by:    GitHub (watch releases)
DeltaFile
+41-5textproc/tgrep/distinfo
+19-1textproc/tgrep/Makefile.crates
+1-1textproc/tgrep/Makefile
+61-73 files

LLVM/project ebe05a7 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Address reviewer feedback

Assisted-by: Cursor / Claude Opus 5.5
DeltaFile
+8-37clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+0-1clang/include/clang/CIR/Dialect/IR/CIROps.td
+8-382 files

LLVM/project 91e9945 — llvm/test/CodeGen/AArch64 neon-dotreduce.ll, llvm/test/CodeGen/AMDGPU select.f16.ll llvm.fma.f16.ll

Merge branch 'main' into users/arsenm/tablegen/gisel-allow-IsTruncStore-predictaes-patfrag
DeltaFile
+2,827-5,340llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
+1,450-4,799llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
+1,703-1,703llvm/test/CodeGen/AArch64/neon-dotreduce.ll
+2,772-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+898-1,469llvm/test/CodeGen/AMDGPU/llvm.fma.f16.ll
+381-1,499llvm/test/CodeGen/AMDGPU/select.f16.ll
+10,031-14,8101,486 files not shown
+64,778-35,1291,492 files

NetBSD/src 5z1rtG1 — crypto/external/bsd/openssh/dist moduli

   Return moduli as well.
VersionDeltaFile
1.14+0-0crypto/external/bsd/openssh/dist/moduli
+0-01 files

NetBSD/src AUkmUcc — lib/libc shlib_version

   libc: Link to relevant PR in note about nixing __ssp_protected_*.

   PR lib/60858: fortuitous embarrassment: fortify is all kinds of busted
VersionDeltaFile
1.303+3-1lib/libc/shlib_version
+3-11 files

OpenBSD/ports bhOLXUj — x11/freerdp distinfo Makefile, x11/freerdp/patches patch-winpr_CMakeLists_txt patch-channels_rdpsnd_client_rdpsnd_main_c

   update to freerdp-3.32.1
VersionDeltaFile
1.85.2.1+4-4x11/freerdp/Makefile
1.34.2.1+2-2x11/freerdp/distinfo
1.5.2.1+1-1x11/freerdp/patches/patch-winpr_CMakeLists_txt
1.4.2.1+1-1x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c
+8-84 files

OpenBSD/ports McWWQVJ — x11/freerdp distinfo Makefile, x11/freerdp/patches patch-winpr_CMakeLists_txt patch-channels_rdpsnd_client_rdpsnd_main_c

   update to freerdp-3.32.1
VersionDeltaFile
1.86+4-4x11/freerdp/Makefile
1.35+2-2x11/freerdp/distinfo
1.6+1-1x11/freerdp/patches/patch-winpr_CMakeLists_txt
1.5+1-1x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c
+8-84 files

OpenBSD/ports ndm08gq — mail/rspamd Makefile distinfo, mail/rspamd/pkg PLIST

   update to rspamd-4.2.1
VersionDeltaFile
1.95.2.1+2-2mail/rspamd/distinfo
1.74.2.1+1-1mail/rspamd/pkg/PLIST
1.168.2.1+1-1mail/rspamd/Makefile
+4-43 files

OpenBSD/ports hg3yl1y — mail/rspamd Makefile distinfo, mail/rspamd/pkg PLIST

   update to rspamd-4.2.1
VersionDeltaFile
1.96+2-2mail/rspamd/distinfo
1.75+1-1mail/rspamd/pkg/PLIST
1.169+1-1mail/rspamd/Makefile
+4-43 files

OpenBSD/ports JHhDSjx — mail/fetchmail Makefile distinfo

   update to fetchmail-6.6.9
VersionDeltaFile
1.52.2.1+2-2mail/fetchmail/distinfo
1.180.2.1+1-1mail/fetchmail/Makefile
+3-32 files