LLVM/project 50dc44emlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[mlir] Migrate AMDGPU/ROCDL to targets, not chipset versions

**migration tl;dr:** `chipset=` becomes `triple=`, migrate off of
`amdgpu::Chipset` to `ROCDL::TargetInfo`, and eventually change
`gfxXYZ` to `amdgpuX.YZ-amd-amdhsa` in that `triple` argument.

`amdgpu::Chipset` was an awkward hack that was hard to keep up to date
with changes in the compiler/new architectures, and didn't properly
support generic targets (and has been strongly disfavored by the
compiler team).

This PR replaces `amdgpu::Chipset` with `ROCDL::TargetInfo`, a
structure that uses LLVM's TargetParser and the underlying LLVM
features tables to get the real nature of the target being compiled
for.

This also helps MLIR move to
new-style (`-mtriple=amdgpuX.YZ-amd-amdhsa`) over "old
style" (`-mtriple=amdgcn-amd-amdhsa -mcpu=gfxXYZ`) triples.

    [40 lines not shown]
DeltaFile
+313-323mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+246-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+180-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+126-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+45-40mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
+49-24mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+959-387102 files not shown
+1,518-710108 files

LLVM/project 9c52216mlir/test/Conversion/AMDGPUToROCDL permlane.mlir mfma-gfx950.mlir, mlir/test/Dialect/AMDGPU amdgpu-emulate-atomics.mlir

[mlir][AMDGPU][NFC] Pre-commit tests for incorrect version checks

There'll be a refactoring from `amdgpu::Chipset` to
`ROCDL::TargetInfo`, thus also moving from chip version checks to
features checks. This commit adds tests for incorrect lowerings that
were allowed by the current code.

- gfx90c is >= gfx90a but stil needs atomic emulation (it doesn't
  have buffer fmax and so on).
- gfx90c is also >= gfx90a but has no barrier back-off, so it needs
  the inline asm workaround around `s_barrier` that it isn't getting
- gfx908 doesn't have a packed fp16 atomic add but we thought it did
- gfx950 is mistakenly allowing xf32 MFMAs
- gfx1200 is allowing permlane_swap instructions that it doesn't have
- gfx11.7 should be allowing OCP FP8 conversions but isn't on the list

This also cleans up some redundant tests with a --check-prefixes

AI disclosure: Claude found these and wrote the tests.

    [2 lines not shown]
DeltaFile
+36-33mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+28-0mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp-gfx1170.mlir
+15-0mlir/test/Conversion/AMDGPUToROCDL/lds-barrier-gfx90c.mlir
+14-0mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
+4-0mlir/test/Conversion/AMDGPUToROCDL/permlane.mlir
+97-335 files

LLVM/project 812a6dcllvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp

Review feedback
DeltaFile
+38-0llvm/unittests/TargetParser/TargetParserTest.cpp
+2-2llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-1llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+1-1llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+42-44 files

LLVM/project f81e450llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPU.td

[AMDGPU] Expose buffer resource num_records width in TargetParser

This also fixes the conflict in gfx12.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+13-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+6-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+2-1llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPU.td
+22-24 files

LLVM/project 2bc6edcllvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp

[AMDGPU] Sort frontend-visible feature, add feature-name parsing

Emit `AMDGPUFrontendVisibleFeatures` sorted by name so it can be
binary-searched.

Also add an API for mapping feature name(s) to updates to a feature
bitmap, allowing frontends (MLIR in particular) to parse a
`-mattr`-like string.

AI disclosure; Claude wrote this code.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+52-0llvm/unittests/TargetParser/TargetParserTest.cpp
+37-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+11-3llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+11-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+111-34 files

LLVM/project 9d3b4b1clang/docs LanguageExtensions.md, clang/lib/CodeGen/TargetBuiltins WebAssembly.cpp

[WebAssembly] Add intrinsics and builtins for `memory.copy` and `memory.fill` (#220111)

Add `@llvm.wasm.memory.copy` and `@llvm.wasm.memory.fill` intrinsics,
along with corresponding `__builtin_wasm_memory_copy` and
`__builtin_wasm_memory_fill` Clang builtins.

These map directly to the WebAssembly `memory.copy` and `memory.fill`
instructions, allowing low-level runtime and libc code (such as
Emscripten) to emit bulk memory operations directly in C/C++ without
needing out-of-line assembly.

Fixes: #220086
DeltaFile
+42-0llvm/test/CodeGen/WebAssembly/bulk-memory-intrinsics64.ll
+42-0llvm/test/CodeGen/WebAssembly/bulk-memory-intrinsics.ll
+38-0clang/docs/LanguageExtensions.md
+20-0llvm/include/llvm/IR/IntrinsicsWebAssembly.td
+19-0clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
+12-0clang/test/CodeGen/builtins-wasm.c
+173-04 files not shown
+185-210 files

LLVM/project b2c390ecompiler-rt/lib/scudo/standalone wrappers_c.cpp secondary.h, compiler-rt/lib/scudo/standalone/include/scudo interface.h

[scudo] Add MaxCacheResidentBytes to Secondary

Introduce DefaultMaxCacheResidentBytes in the cache configuration and
MaxCacheResidentBytes at runtime to enforce an upper bound on total
resident memory in the Secondary cache.

When storing a block causes resident bytes to exceed the threshold,
physical pages from the oldest cached entries are released to the OS via
releaseAndZeroPagesToOS() while preserving their virtual address
mappings in the cache.

Also adds Option::MaxCacheResidentBytes and M_CACHE_RESIDENT_BYTES_MAX
to allow tuning this limit dynamically via mallopt().
DeltaFile
+103-0compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
+31-1compiler-rt/lib/scudo/standalone/secondary.h
+4-0compiler-rt/lib/scudo/standalone/include/scudo/interface.h
+3-0compiler-rt/lib/scudo/standalone/wrappers_c.cpp
+1-0compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
+1-0compiler-rt/lib/scudo/standalone/tests/allocator_config_test.cpp
+143-13 files not shown
+146-19 files

LLVM/project 349ba15clang/docs OffloadingDesign.md

[docs] Use pipe tables for compact offloading tables
DeltaFile
+21-49clang/docs/OffloadingDesign.md
+21-491 files

LLVM/project 3dd94fbclang/include/clang/Basic CodeGenOptions.h, clang/lib/CodeGen CodeGenModule.cpp

clang: Emit "exception-model" module flag

Record the exception-handling model as an "exception-model" IR module
flag when it differs from the target triple's default, mirroring how
other target ABI properties are recorded. Adds a
CodeGenOptions::toExceptionHandling helper to translate clang's
ExceptionHandlingKind into the LLVM ExceptionHandling enum.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+38-0clang/test/CodeGen/exception-model-flag.c
+19-0clang/include/clang/Basic/CodeGenOptions.h
+12-0clang/lib/CodeGen/CodeGenModule.cpp
+69-03 files

LLVM/project 7d40597clang/include/clang/Basic CodeGenOptions.h, clang/lib/CodeGen CGException.cpp CodeGenModule.cpp

clang: Distinguish unspecified from disabled exception model

Add ExceptionHandlingKind::Default so clang can tell an unspecified
exception model from an explicit -exception-model=none.
DeltaFile
+18-17clang/test/CodeGen/exception-model-flag.c
+10-1clang/include/clang/Basic/CodeGenOptions.h
+5-4clang/lib/CodeGen/CodeGenModule.cpp
+4-2clang/lib/CodeGen/CGException.cpp
+1-1clang/lib/Frontend/CompilerInvocation.cpp
+1-1clang/lib/Driver/ToolChains/NetBSD.cpp
+39-266 files not shown
+45-3212 files

LLVM/project 87dccbdllvm/docs LangRef.md, llvm/include/llvm/Support CodeGen.h

Distinguish unspecified from disabled exception model
DeltaFile
+9-4llvm/include/llvm/Support/CodeGen.h
+8-3llvm/docs/LangRef.md
+3-5llvm/lib/IR/RuntimeLibcalls.cpp
+4-4llvm/lib/IR/Module.cpp
+3-4llvm/include/llvm/Target/TargetMachine.h
+6-0llvm/test/Assembler/module-flags-exception-model.ll
+33-206 files not shown
+43-2612 files

LLVM/project d915421llvm/docs LangRef.md, llvm/include/llvm/Support CodeGen.h

IR: Introduce "exception-model" module flag

Add an "exception-model" IR module flag intended to replace
TargetOptions::ExceptionModel, such that the ABI is fully
computable from the IR alone. Add the basic documentation and
verifier/linker tests, but doesn't wire up the consumers.

The main thing I question is whether the single "wasm" model is
really the correct control. With the existing TargetOption,
WebAssembly is overloading "none" in a weird way that sometimes
means default, and sometimes mean forcibly disabled exceptions.
It additionally has -wasm-enable-eh and -wasm-enable-sjlj cl::opts
and I don't fully understand the interaction between all of these
knobs; the cl::opts are even worse than the TargetOptions since
these still change the ABI and are backend private.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+40-0llvm/include/llvm/Support/CodeGen.h
+37-0llvm/test/Verifier/module-flags-exception-model.ll
+35-0llvm/docs/LangRef.md
+31-0llvm/test/Assembler/module-flags-exception-model.ll
+28-0llvm/test/Linker/module-flags-exception-model.ll
+9-3llvm/lib/IR/Verifier.cpp
+180-32 files not shown
+199-38 files

FreeBSD/ports 6d7f0c7x11-themes/win98se-icon-theme Makefile distinfo

x11-themes/win98se-icon-theme: Update 0.2.15 => 0.2.16.1

Changelogs:
- https://github.com/nestoris/Win98SE/releases/tag/v0.2.16
- https://github.com/nestoris/Win98SE/releases/tag/v0.2.16.1

PR:             298100
Reported by:    Alexander Vereeken <avereeken at fastmail.de> (maintainer)
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+4,937-2,244x11-themes/win98se-icon-theme/pkg-plist
+3-3x11-themes/win98se-icon-theme/distinfo
+1-1x11-themes/win98se-icon-theme/Makefile
+4,941-2,2483 files

FreeBSD/ports 5ffc40csecurity/vuxml/vuln 2026.xml

security/vuxml: Add entry for giflib CVE-2026-26740
DeltaFile
+29-0security/vuxml/vuln/2026.xml
+29-01 files

LLVM/project 848fb7elld/MachO Driver.cpp SyntheticSections.cpp, lld/MachO/Arch ARM64.cpp

[lld][MachO] Support Objective-C class stubs

Teach Mach-O objc stubs to synthesize class-message stubs that load the class object, selector, and objc_msgSend target.

lld already supports the Apple clang _objc_msgSend$<selector> stub form, even though upstream clang does not currently expose a driver or cc1 flag for emitting it. Apple clang also emits _objc_msgSendClass$<selector>$_OBJC_CLASS_$_<class>; handling that form completes the existing selector-stub support.

Cover local classes, dylib classes, archives, dynamic lookup via -U, missing class symbols, malformed names, unsupported architectures, and dead stripping.
DeltaFile
+292-0lld/test/MachO/arm64-objc-class-stubs.s
+98-9lld/MachO/SyntheticSections.cpp
+92-0lld/MachO/Arch/ARM64.cpp
+75-0lld/test/MachO/arm64-objc-class-stubs-dead.s
+55-0lld/test/MachO/objc-class-stubs-unsupported.s
+32-6lld/MachO/Driver.cpp
+644-154 files not shown
+672-1610 files

LLVM/project b78031clld/MachO Driver.cpp, lld/test/MachO arm64-objc-stubs-autolink.s

[lld][MachO] Fix ObjC stubs from autolinked archives

Move ObjC stub preparation after LC_LINKER_OPTION processing so archive members loaded via autolink can contribute _objc_msgSend$ selector stubs before selector references are built.

Previously those stubs missed __objc_methname setup; assert builds could fail in makeSelRef, and release builds could form an invalid selector reference.
DeltaFile
+35-0lld/test/MachO/arm64-objc-stubs-autolink.s
+2-1lld/MachO/Driver.cpp
+37-12 files

LLVM/project 9eba015llvm/docs/CommandGuide llvm-mca.rst, llvm/lib/Frontend/OpenMP OMPDescriptors.inc

Merge branch 'main' into revert-192155-dev/jf/upstream-lto-pipeline-prepare-for-lto
DeltaFile
+2,115-2,484llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+788-788llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+611-829llvm/test/CodeGen/AMDGPU/calling-conventions.ll
+1,368-3mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+567-723llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+0-1,208llvm/docs/CommandGuide/llvm-mca.rst
+5,449-6,035879 files not shown
+47,991-26,449885 files

LLVM/project b3c8cd2lld/MachO SyntheticSections.h SyntheticSections.cpp

[lld][MachO] Prepare ObjC stubs for variable sizes

Track ObjC stub sizes explicitly so future changes can mix different stub layouts in one synthetic section.
DeltaFile
+12-12lld/MachO/SyntheticSections.cpp
+3-2lld/MachO/SyntheticSections.h
+15-142 files

FreeBSD/ports a3c5311textproc/pageedit Makefile, www/dooble distinfo Makefile

www/dooble: Update to 2026.08.21

Link with gpgme for use with the application lock function.
Replace /usr/local with ${LOCALBASE}.
Install dictionaries into ${DATADIR} to avoid pageedit conflict.
Remove the unnecessary desktop-file-edit.

Changelog:
https://github.com/textbrowser/dooble/releases#release-2026.08.21

PR:             297900
Approved by:    Eric Camachat <eric at camachat.org> (maintainer)
Approved by:    osa (mentor)
Co-authored-by: mce
DeltaFile
+37-0www/dooble/files/patch-Source_dooble__settings.cc
+12-20www/dooble/Makefile
+29-0www/dooble/files/patch-dooble.pro
+3-3www/dooble/distinfo
+0-2textproc/pageedit/Makefile
+81-255 files

LLVM/project d9569e2llvm/unittests/ProfileData SampleProfTest.cpp

format

Created using spr 1.3.7
DeltaFile
+3-2llvm/unittests/ProfileData/SampleProfTest.cpp
+3-21 files

LLVM/project 7aa6c34llvm/unittests/ProfileData SampleProfTest.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+3-6llvm/unittests/ProfileData/SampleProfTest.cpp
+3-61 files

LLVM/project 747f90allvm/unittests/ProfileData SampleProfTest.cpp

format

Created using spr 1.3.7
DeltaFile
+3-6llvm/unittests/ProfileData/SampleProfTest.cpp
+3-61 files

LLVM/project c3bff08llvm/test/CodeGen/AMDGPU waitcnt-loop-carried-fence-drain.mir waitcnt-loop-carried-fence-drain-gfx12.mir

Fix RUN line style
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/waitcnt-loop-carried-fence-drain.mir
+1-1llvm/test/CodeGen/AMDGPU/waitcnt-loop-carried-fence-drain-gfx12.mir
+2-22 files

LLVM/project bea207blldb/unittests/Host ProcessRunLockTest.cpp, lldb/unittests/Utility PolicyTest.cpp

[lldb/test] Suppress crash reports from LLDB's gtest death tests (#218981)

PolicyStackDeathTest.GuardDestroyedOnDifferentThread and
ProcessRunLockDeathTest.MoveLockedAcrossThreads deliberately trip
thread-affinity checks that call report_fatal_error, so the forked
death-test child dies via SIGABRT. On platforms with a system crash
reporter that leaves a crash log behind for each run, which CI scrapes
and reports as a test failure even though both tests pass.

Call llvm::sys::Process::PreventCoreFiles() as the first statement
inside the EXPECT_DEATH block. EXPECT_DEATH forks by default, so this
only affects the child process and leaves the runner's own signal
handling alone. The assertions still hold: report_fatal_error writes to
stderr before aborting, so the regex still matches, and the nonzero exit
status satisfies ExitedUnsuccessfully.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+7-0lldb/unittests/Host/ProcessRunLockTest.cpp
+6-0lldb/unittests/Utility/PolicyTest.cpp
+13-02 files

FreeBSD/ports 3dc4c03security/vuxml/vuln 2026.xml

security/vuxml: Add entries for expat2 CVE-2026-66046 and CVE-2026-76641
DeltaFile
+69-0security/vuxml/vuln/2026.xml
+69-01 files

LLVM/project 7e80c4cllvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV] Remove dead EpilogueLoopVectorizationInfo::EpiloguePlan (NFC). (#220383)

The field has had no readers since 7f3428d3ed71 ("[VPlan] Compute
induction end values in VPlan.", #112145), which removed the last one.
Remove the dead field.
DeltaFile
+3-6llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-61 files

LLVM/project b51e2b0llvm/lib/Transforms/Scalar SROA.cpp, llvm/test/Transforms/SROA select-load.ll

[SROA] Remove pointer bitcast lookthrough for selects (#220199)

`isSafeSelectToSpeculate` finds load users of the select through
bitcasts. But bitcasts from pointer to pointer don't happen anymore (or
are really uncommon?) after the introduction of opaque pointers. Remove
this functionality.

llvm-opt-benchmark shows no perf diff.
DeltaFile
+4-5llvm/test/Transforms/SROA/select-load.ll
+0-5llvm/lib/Transforms/Scalar/SROA.cpp
+4-102 files

FreeBSD/ports a6df369security/openconnect-gui Makefile

security/openconnect-gui: Remove deprecation notice and expiration date

As per new policies you need to track multiple branches.
I don't have time, hardware or interest trying to additionally keep up
with quarterly so I'll revert deprecation and expiration date

Reported by:    joneum
DeltaFile
+1-4security/openconnect-gui/Makefile
+1-41 files

FreeBSD/ports a303bb1www/dtse Makefile

www/dtse: Remove deprecation notice and expiration date

As per new policies you need to track multiple branches.
I don't have time, hardware or interest trying to additionally keep up
with quarterly so I'll revert deprecation and expiration date

Reported by:    joneum
DeltaFile
+1-4www/dtse/Makefile
+1-41 files

FreeBSD/ports 55ec3e5devel/etcd Makefile

devel/etcd: Remove deprecation notice and expiration date

As per new policies you need to track multiple branches.
I don't have time, hardware or interest trying to additionally keep up
with quarterly so I'll revert deprecation and expiration date

Reported by:    joneum
DeltaFile
+1-4devel/etcd/Makefile
+1-41 files