LLVM/project cd653d5orc-rt/include/orc-rt-c Session.h, orc-rt/lib/executor Session.cpp

[orc-rt] Add C API for Session::callController. (#212204)

Add orc-rt-c/Session.h with a C API, orc_rt_Session_callController,
wrapping the C++ Session::callController method.
DeltaFile
+51-0orc-rt/test/unit/SessionTest.cpp
+34-0orc-rt/include/orc-rt-c/Session.h
+14-0orc-rt/lib/executor/Session.cpp
+99-03 files

LLVM/project 0049cc3llvm/include/llvm/TargetParser AMDGPUTargetParser.def AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPUAttributor.cpp

AMDGPU: Start using subarch in attributor instead of subtarget

Avoid querying the subtarget for functions when the relevant
properties are known from the triple. The various subtarget
group size functions should also be decoupled from the subtarget,
but those are trickier to untangle.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+26-18llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+9-9llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
+15-1llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+10-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+60-284 files

LLVM/project b66692dclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver amdgpu-mcpu.cl hip-sanitize-options.hip

clang/AMDGPU: Stop passing redundant -target-cpu to cc1

Now that the exact target is encoded in the triple's subarch field,
-target-cpu is redundant. This avoids polluting the resultant IR with
unwanted "target-cpu" attributes. The net result is the desired codegen
when compiling libraries for a major subarch and linking it into a
program compiled for a specific arch. e.g., compiling for "gfx9-generic"
would pollute the IR with "target-cpu"="gfx9-generic", so codegen
would ultimately be performed for the generic target even after
linking into the concrete gfx9 cpu. The specialization will now be
achieved by merging the triples without the linker or optimization
passes needing to fixup function attributes.
DeltaFile
+62-62clang/test/Driver/amdgpu-mcpu.cl
+26-26clang/test/Driver/hip-sanitize-options.hip
+20-10clang/lib/Driver/ToolChains/CommonArgs.cpp
+12-16clang/test/Driver/hip-rdc-device-only.hip
+10-10clang/test/Driver/amdgpu-xnack-sramecc-flags.c
+5-7clang/test/Driver/hip-cuid.hip
+135-13126 files not shown
+190-21132 files

LLVM/project d81e52cclang/lib/Basic OffloadArch.cpp, clang/lib/Driver Driver.cpp

clang: Start using new amdgpu subarch triples

Fixup invocations using --target=amdgcn + -mcpu to introduce
the subarch in the triple.

For offload toolchains, a single toolchain is constructed for the
top level amdgpu architecture, and the effective triple is used for
target specific tool invocations.

The specifics of the resource directory layout are tbd. This does
try to find resources in the subarch named directory. The paths
are searched at toolchain creation time, so that does not work
when there are multiple subarches.

Fixes #154925
DeltaFile
+234-2clang/lib/Basic/OffloadArch.cpp
+59-59clang/test/Driver/offload-arch-translation-amdgpu.cu
+43-43clang/test/Driver/hip-phases.hip
+33-33clang/test/Driver/hip-binding.hip
+48-14clang/lib/Driver/ToolChains/CommonArgs.cpp
+43-12clang/lib/Driver/Driver.cpp
+460-163104 files not shown
+1,208-502110 files

LLVM/project fcc1d9allvm/lib/Target/RISCV RISCVISelDAGToDAG.cpp

Only ISD::LOAD for Zilx in isRegRegScaleLoadOrStore

Created using spr 1.3.6-beta.1
DeltaFile
+6-3llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+6-31 files

LLVM/project 9facc23llvm/include/llvm/Analysis ScalarEvolutionPatternMatch.h

[SCEV] Avoid building throwaway nodes in SCEVURem_match (NFC) (#212149)

URem matching currently constructs rather complex
`A - ((A udiv B) * B)` expressions just to check if the given expression
is an URem op.

Exit early without building the expression, if neither of the operands
is UDiv.

This gives significant compile-time improvements end-to-end:

* stage1-O3: -0.23%
* stage1-ReleaseThinLTO: -0.24%
* stage1-ReleaseLTO-g: -0.18%
* stage1-aarch64-O3: -0.21%
* stage2-O3: -0.23%


https://llvm-compile-time-tracker.com/compare.php?from=5771cd03344ba3a8df7ed364b6f98451b68fcb30&to=597567670167f7c60be659389bd22b773fbac4ac&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/212149
DeltaFile
+7-0llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
+7-01 files

LLVM/project bd35516clang/lib/CodeGen CGDebugInfo.cpp, llvm/include/llvm/IR DIBuilder.h

[IR][NFC] Rename insertDbgValueIntrinsic -> insertDbgValue (#212151)

Rename `insertDbgValueIntrinsic` to `insertDbgValue`, which is
consistent with the other insert helpers like `insertDbgAssign`,
`insertDeclare`, etc.
Also use debug record instead of intrinsic terminology in doc comments.
DeltaFile
+20-22llvm/include/llvm/IR/DIBuilder.h
+4-6llvm/lib/IR/DIBuilder.cpp
+4-4llvm/unittests/IR/IRBuilderTest.cpp
+2-3llvm/lib/Transforms/Utils/CodeExtractor.cpp
+2-2clang/lib/CodeGen/CGDebugInfo.cpp
+2-2llvm/lib/IR/DebugInfo.cpp
+34-393 files not shown
+37-439 files

LLVM/project 8e374dbclang/lib/StaticAnalyzer/Core ExprEngineC.cpp

[NFC][analyzer] Eliminate NodeBuilder in VisitBlockExpr (#211865)

This is part of the commit series that gradually eliminates the class
`NodeBuilder` from the analyzer engine.

This is a straightforward case where `makeNodeWithBinding` can be
clearly applied.

The node set `Tmp` was superfluous because we can directly pass the node
to `runCheckersForPostStmt` where it will be implicitly converted to a
one-element set. (There are many precedents for this.)

Also notice that we explicitly pass the `State` to `makeNodeWithBinding`
because it can be different from `Pred->getState()` (which would have
been used implicitly by the 4-argument form of `makeNodeWithBinding`.)
DeltaFile
+3-5clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
+3-51 files

FreeBSD/doc 000fcf9website/content/ru/status _index.adoc, website/content/ru/status/report-2026-04-2026-06 _index.adoc sbom.adoc

website: translate Status report Q2 2026 to russian

Differential Revision: https://reviews.freebsd.org/D58475
DeltaFile
+249-0website/content/ru/status/report-2026-04-2026-06/_index.adoc
+97-96website/content/ru/status/_index.adoc
+7-1website/content/ru/status/report-2026-04-2026-06/sbom.adoc
+5-1website/content/ru/status/report-2026-04-2026-06/intro.adoc
+5-0website/data/ru/news/news.toml
+1-0website/content/ru/status/report-2026-04-2026-06/cra.adoc
+364-986 files

FreeBSD/doc bcd8df8documentation/content/en/books/handbook/cutting-edge _index.adoc

handbook/cutting-edge: Add an introduction

Add an introduction section which explains the terms “major version”,
“minor version”, and “patch level”, explains the difference between
updating and upgrading, and outlines what sort of upgrades we do and do
not support.

It is unfortunate that the FreeBSD support model is not documented in
the Handbook or, indeed, anywhere except our mailing list archive.  As a
compromise, this introducion links to the security page on the website,
which briefly mentions the support model and links to the relevant
emails in the archive.

Reviewed by:    carlavilla, imp
Differential Revision:  https://reviews.freebsd.org/D58471
DeltaFile
+26-9documentation/content/en/books/handbook/cutting-edge/_index.adoc
+26-91 files

FreeBSD/ports 180a2c8Mk/Uses cargo.mk, lang/rust Makefile

lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check

lang/rust{,-bootstrap} themselves do not need COMPAT_FREEBSD11 any more,
nor do crates that don't depend on pre-0.2.176 libc. For those that
still do, emit a warning for porters to see so that we can eventually
fully move away from needing COMPAT_FREEBSD11.

Note lang/rust188, and the bootstrap 1.87 it depends on, both predate
1.93, the first version of rust itself to use libc >= 0.2.176, so the
check remains in lang/rust188.

Note also Mk/bsd.gecko.mk does its own thing due to the vendored crates,
and will need its own approach to this issue.

PR:             281600
Reviewed by:    mikael (rust)
Approved by:    mikael (rust)
MFH:            2026Q3

(cherry picked from commit 4dc0e9ac42ad5c6a6cdab9bbc987adaa25ab24ce)
DeltaFile
+6-0Mk/Uses/cargo.mk
+0-3lang/rust-bootstrap/Makefile
+0-3lang/rust/Makefile
+6-63 files

FreeBSD/ports 6645f84Mk/Uses cargo.mk

Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages

These appear as literal backslashes in the output rather than escaping
anything.

PR:             281600
Reviewed by:    mikael (rust)
Approved by:    mikael (rust)
MFH:            2026Q3

(cherry picked from commit f6977b775285d4bebb4711f17101fb12c636e1f9)
DeltaFile
+3-3Mk/Uses/cargo.mk
+3-31 files

LLVM/project b1a6c7dllvm/test/CodeGen/AArch64/GlobalISel legalize-vector-cmp.mir legalize-min-max.mir

[AArch64][GlobalISel] Update legalize tests with concrete types. NFC (#212217)
DeltaFile
+690-690llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-cmp.mir
+352-352llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
+339-339llvm/test/CodeGen/AArch64/GlobalISel/legalize-mul.mir
+334-334llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
+331-331llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
+318-318llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-and.mir
+2,364-2,364115 files not shown
+10,677-10,685121 files

LLVM/project e07c6e6llvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine is_fpclass.ll

[InstCombine][NFC] Reorder isKnownAlways(Mask) check in foldIntrinsicIsFPClass (#212216)

Fixes #189949

The preceding mask-narrowing step already guarantees `Mask` is a subset
of `Known.KnownFPClasses` by the time the old equality check ran, so
`Mask == Known.KnownFPClasses` was already equivalent (see #190504).
This patch replaces that equality check with `Known.isKnownAlways(Mask)`
(matching the SelectionDAG equivalent's naming) and moves it before the
narrowing step, avoiding a redundant worklist re-visit.

Added a regression test in `is_fpclass.ll`.
DeltaFile
+6-6llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+8-0llvm/test/Transforms/InstCombine/is_fpclass.ll
+14-62 files

FreeBSD/ports 4dc0e9aMk/Uses cargo.mk, lang/rust Makefile

lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check

lang/rust{,-bootstrap} themselves do not need COMPAT_FREEBSD11 any more,
nor do crates that don't depend on pre-0.2.176 libc. For those that
still do, emit a warning for porters to see so that we can eventually
fully move away from needing COMPAT_FREEBSD11.

Note lang/rust188, and the bootstrap 1.87 it depends on, both predate
1.93, the first version of rust itself to use libc >= 0.2.176, so the
check remains in lang/rust188.

Note also Mk/bsd.gecko.mk does its own thing due to the vendored crates,
and will need its own approach to this issue.

PR:             281600
Reviewed by:    mikael (rust)
Approved by:    mikael (rust)
MFH:            2026Q3
DeltaFile
+6-0Mk/Uses/cargo.mk
+0-3lang/rust-bootstrap/Makefile
+0-3lang/rust/Makefile
+6-63 files

FreeBSD/ports f6977b7Mk/Uses cargo.mk

Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages

These appear as literal backslashes in the output rather than escaping
anything.

PR:             281600
Reviewed by:    mikael (rust)
Approved by:    mikael (rust)
MFH:            2026Q3
DeltaFile
+3-3Mk/Uses/cargo.mk
+3-31 files

LLVM/project 47e51bdoffload/liboffload/API Memory.td, offload/liboffload/src OffloadImpl.cpp

[offload] Split olMemAlloc to separate functions (#209196)

At the previous community meeting, we agreed to introduce contexts into
the liboffload API. I also mentioned that, as part of this work, we
could split the allocation function into three separate functions, but
we did not discuss this idea in detail.

This patch only splits the allocation functions, allowing us to discuss
and agree on the proposed interface before introducing contexts into the
`olMemAlloc` API.

Once contexts are added, the device parameter will be removed from host
allocations, and the final interface would look like this:

```c
ol_result_t olMemAllocDevice(ol_context_handle_t, ol_device_handle_t, size_t, void **);
ol_result_t olMemAllocHost(ol_context_handle_t, size_t, void **);
ol_result_t olMemAllocManaged(ol_context_handle_t, ol_device_handle_t, size_t, void **);
```

    [10 lines not shown]
DeltaFile
+61-10offload/liboffload/API/Memory.td
+24-4offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
+17-8offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
+18-0offload/liboffload/src/OffloadImpl.cpp
+4-1offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
+1-1offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+125-241 files not shown
+126-257 files

FreeBSD/src 9d85292. UPDATING, bin/pwait pwait.1

Bump dates

Fixes:          c8f5e6819d4d ("pwait: Optionally wait until process is reaped")
Fixes:          eddd8aa99ca8 ("pwait: Add a SIGINFO handler")
Fixes:          356d0b79cf6f ("rc.subr: Fix premature return from wait_for_pids")
DeltaFile
+1-1UPDATING
+1-1bin/pwait/pwait.1
+1-1lib/libsys/kqueue.2
+3-33 files

LLVM/project 95bf243llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/Target/ARM ARMSubtarget.cpp

ARM: Mark more generic libgcc functions as available

Generic libgcc/compiler-rt functions coexist with aeabi variants
(e.g., __divsi3  and __aeabi_idiv) according to my reading of the
build. At least in compiler-rt, they are aliases (such that I'm not sure
what the point of ever emitting the __aeabi name is).

They were previously removed from the available set on AEABI+AAPCS targets
to force selection of the preferred __aeabi_* variants, back when
only one implementation per libcall could be recorded.

Now that multiple implementations can be available per libcall, stop hiding
the generics and select the __aeabi_* variant explicitly as the preferred
implemntation. This reduces the number of special cases to consider for
future libcalls info improvements.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+62-0llvm/lib/Target/ARM/ARMSubtarget.cpp
+1-6llvm/include/llvm/IR/RuntimeLibcalls.td
+63-62 files

FreeBSD/src 356d0b7. UPDATING, libexec/rc rc.subr

rc.subr: Fix premature return from wait_for_pids

Use pwait's new -r option to wait until the target processes have not
only terminated, but also been reaped.

PR:             293183
MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D58391
DeltaFile
+6-14libexec/rc/tests/rc_subr_test.sh
+12-0UPDATING
+2-2libexec/rc/rc.subr
+20-163 files

FreeBSD/src e115066bin/pwait/tests pwait_reap.c Makefile

pwait: Test the new -r option

Test that pwait without -r reports a process as soon as it terminates,
while pwait with -r does not report it until it has been reaped.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D58385
DeltaFile
+188-0bin/pwait/tests/pwait_reap.c
+1-0bin/pwait/tests/Makefile
+189-02 files

FreeBSD/src eddd8aabin/pwait pwait.c pwait.1

pwait: Add a SIGINFO handler

On SIGINFO, print a space-separated list or remaining processes to
standard error.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D58386
DeltaFile
+29-7bin/pwait/pwait.c
+13-0bin/pwait/pwait.1
+42-72 files

FreeBSD/src c8f5e68bin/pwait pwait.c pwait.1

pwait: Optionally wait until process is reaped

If the new -r option is specified, wait until the target process not
only terminates but is reaped.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D58314
DeltaFile
+29-12bin/pwait/pwait.c
+14-3bin/pwait/pwait.1
+43-152 files

FreeBSD/src 2bacbbelib/libsys kqueue.2, lib/libsysdecode flags.c

kqueue: Add NOTE_REAP

Add a NOTE_REAP event for EVFILTER_PROC which provides a notification
when the process is reaped.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D58313
DeltaFile
+8-5sys/kern/kern_event.c
+4-7sys/sys/event.h
+8-2lib/libsys/kqueue.2
+6-3sys/kern/sys_procdesc.c
+1-1lib/libsysdecode/flags.c
+1-0sys/kern/kern_exit.c
+28-186 files

FreeBSD/ports a4f7324devel/llvm12 pkg-plist Makefile

devel/llvm12: greatly slim the set of options

At this point this port is mostly required for devel/openjdk11 on
powerpc.  Remove most options not relevent to this function.

This will cut build time on the cluster and for dependent ports.

Sponsored by:   DARPA, AFRL
DeltaFile
+0-530devel/llvm12/pkg-plist
+16-37devel/llvm12/Makefile
+0-7devel/llvm12/Makefile.COMMANDS
+16-5743 files

FreeBSD/ports 8247b52devel/llvm-cheri distinfo Makefile, devel/llvm-cheri/files clang21-patch-llvm_tools_sancov_sancov.cpp

devel/llvm-{cheri,morello}: new snapshots

Update CHERI and Morello LLVM compilers to new snapshots.

Attempt to fix builds with LLVM 21 by conditionally applying the patch
used with devel/llvm17.  I'm not applying it universally as llvm-morello
fails to compile with it on my 14.4-RELEASE test system.

Sponsored by:   DARPA, AFRL
DeltaFile
+11-0devel/llvm-cheri/files/clang21-patch-llvm_tools_sancov_sancov.cpp
+3-3devel/llvm-cheri/distinfo
+3-3devel/llvm-morello/distinfo
+4-0devel/llvm-cheri/Makefile
+2-2devel/llvm-morello/Makefile.snapshot
+2-2devel/llvm-cheri/Makefile.snapshot
+25-106 files

FreeBSD/ports f397b2adevel/oclgrind distinfo Makefile

devel/oclgrind: update to 26.03.1

This release is reported to work with LLVM 18 though 22 rather than the
ancient llvm12 the previous version was using.  This update is only
compile-tested.
DeltaFile
+3-3devel/oclgrind/distinfo
+2-2devel/oclgrind/Makefile
+5-52 files

FreeBSD/ports 9517234devel/llvm22 Makefile, devel/llvm22/files patch-backport-93a67259cf23

devel/llvm22: backport commit 93a67259cf23 from llvm git

    [ToolChains][FreeBSD] Set default Linker to LLD for FreeBSD (#190596)

    When the linker is specified as ld, toolchain applies special handling
    by invoking (triple)-ld instead of resolving ld via standard PATH
    lookup. This causes GNU ld installed via the system package manager to
    take the precedence (since (triple)-ld appears earlier in the search
    path), effectively overriding ld.lld.

    As a result, we set the default Linker on FreeBSD to ld.lld to indicate
    we want to use lld by default.
DeltaFile
+87-0devel/llvm22/files/patch-backport-93a67259cf23
+1-1devel/llvm22/Makefile
+88-12 files

FreeBSD/ports 4d0a5a9devel/llvm22 distinfo Makefile

devel/llvm22: 22.1.8 release

See the announcement for changes:
    https://discourse.llvm.org/t/llvm-22-1-8-released/91084

This is expected to be the last releaase in the LLVM 22 line.

Sponsored by:   DARPA, AFRL
DeltaFile
+3-3devel/llvm22/distinfo
+2-2devel/llvm22/Makefile
+5-52 files

NetBSD/pkgsrc OFKoDz9doc CHANGES-2026

   doc: Updated www/resterm to 0.48.1
VersionDeltaFile
1.4777+2-1doc/CHANGES-2026
+2-11 files