LLVM/project 5e457cd — bolt/include/bolt/Core MCPlusBuilder.h, bolt/lib/Passes Instrumentation.cpp

[BOLT][RISCV] Keep instrumentation out of LR/SC functions (#237157)

Counter spills and AMOs can break the eventual-success guarantee of
constrained LR/SC loops. Reservation sequences can cross basic-block
boundaries, and unmatched instructions must be treated conservatively.

Skip instrumentation of functions containing LR/SC instructions,
covering both widths and all ordering variants. Leave ordinary AMOs
instrumentable.

Assisted by GPT-6.
DeltaFile
+145-0bolt/test/runtime/RISCV/instrumentation-lrsc.s
+35-0bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
+8-9bolt/lib/Passes/Instrumentation.cpp
+4-5bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
+3-3bolt/include/bolt/Core/MCPlusBuilder.h
+195-175 files

OPNSense/core 3c22260 — src/etc/inc filter.lib.inc filter.inc, src/etc/inc/plugins.inc.d kea.inc ipsec.inc

firewall: attach settings to $fw object where possible
DeltaFile
+55-46src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+39-41src/etc/inc/filter.inc
+11-12src/etc/inc/filter.lib.inc
+4-7src/etc/inc/plugins.inc.d/dnsmasq.inc
+4-5src/etc/inc/plugins.inc.d/ipsec.inc
+4-4src/etc/inc/plugins.inc.d/kea.inc
+117-1151 files not shown
+120-1197 files

LLVM/project ecbe282 — clang/lib/CodeGen CGStmtOpenMP.cpp, clang/test/OpenMP loop_transformation_simd_codegen.cpp

[Clang][OpenMP] Handle loop transforms in SIMD-only mode CodeGen (#238257)

For all loop transforms, Clang cast loop as a `CapturedStmt` in the
`-fopenmp-simd` mode, when these loop transforms keep a normal loop
`ForStmt` and do not wrap a captured region.

This in-turn results in a crash for all loop transforms (verified), as
mentioned for flatten here (#231741).

Note: Only unroll was on the list and not other loop directives.

Fixes #231741
DeltaFile
+81-0clang/test/OpenMP/loop_transformation_simd_codegen.cpp
+2-2clang/lib/CodeGen/CGStmtOpenMP.cpp
+83-22 files

LLVM/project 0a69f57 — libcxx/docs/ReleaseNotes 24.rst, libcxx/include __config

[libc++] Use glibc random APIs for std::random_device on Linux (#222567)

Use arc4random with glibc 2.36 and later, and getentropy with glibc
2.25 through 2.35. Retain current urandom file based implementation
on other Linux libc and older glibc versions.
DeltaFile
+27-0libcxx/test/libcxx/numerics/rand/rand.device/abi.compile.pass.cpp
+4-4libcxx/include/__random/random_device.h
+8-0libcxx/include/__config
+4-0libcxx/docs/ReleaseNotes/24.rst
+1-0libcxx/utils/libcxx/test/features/libcxx_macros.py
+1-0libcxx/test/std/numerics/rand/rand.device/eval.pass.cpp
+45-41 files not shown
+46-47 files

OPNSense/core c27784b — src/etc/inc system.inc

system: remove unused system_default_route()

Goodbye, old friend ed3fb997104.

While here also remove an unused $config in system_routing_configure().
DeltaFile
+0-42src/etc/inc/system.inc
+0-421 files

LLVM/project 3d48e59 — clang/include/clang/AST TypeBase.h

fixup! [Clang][RISCV] Record the LMUL in RVV fixed-length data vector kinds
DeltaFile
+1-1clang/include/clang/AST/TypeBase.h
+1-11 files

LLVM/project 7def57f — flang/test/Integration fno-plt.f90

[flang] Pin -fno-plt tests to supported targets only (#239051)

The fno-plt integration test checks for nonlazybind on the define line
of @test_ by requiring '{' right after the argument list. Some targets,
including AIX and powerpc64le, attach an attribute group to the define
(`#0` before `{`), so that check fails there.

Run fno-plt.f90 with -triple x86_64-unknown-linux-gnu, where the define
has no implied attributes, and require x86-registered-target for it.

Add a REQUIRES line limiting the IR-loading test to x86 and ARM targets,
since those are the targets where -fno-plt is forwarded.

Assisted by Cursor

---------

Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
DeltaFile
+10-3flang/test/Integration/fno-plt.f90
+10-31 files

FreeBSD/ports df49f5e — textproc/tgrep Makefile distinfo

textproc/tgrep: Update to 1.2.7

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

Reported by:    GitHub (watch releases)
DeltaFile
+3-3textproc/tgrep/distinfo
+1-1textproc/tgrep/Makefile
+4-42 files

FreeBSD/ports 0b9687f — security/vuxml/vuln 2026.xml

security/vuxml: Document openvox vulnerabilities
DeltaFile
+104-0security/vuxml/vuln/2026.xml
+104-01 files

LLVM/project 616d237 — llvm/include/llvm/TargetParser CMakeLists.txt, llvm/lib/Target/RISCV RISCVFeatures.td RISCVRegisterInfo.td

RISCV: Use minimal tablegen inputs for TargetParser

Generate RISCVTargetParserDef.inc from a reduced td file which
includes only the features, profiles and processors, instead of all of
RISCV.td. The processors reference scheduling models, which are
defined with the scheduling information for the instructions, so the
new file defines empty placeholder models instead, as was done for
AArch64 in #231954.

RISCV was the last TargetParser input that parsed the full target, and
took 1.74 of the 1.78 seconds spent in the TargetParser tablegen jobs.

llvm-min-tblgen -gen-riscv-target-def, mean of 5 runs

                             Gigainstructions  Seconds  Peak RSS  .td deps
  RISCV.td                   7.47              1.74     407 MB    139
  RISCVTargetParserDef.td    0.04              0.01       7 MB      9

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+44-0llvm/lib/Target/RISCV/RISCVTargetParserDef.td
+0-3llvm/lib/Target/RISCV/RISCVFeatures.td
+3-0llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+1-1utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+1-1llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+1-1llvm/include/llvm/TargetParser/CMakeLists.txt
+50-66 files

LLVM/project 175ea63 — llvm/lib/Target/RISCV RISCVFeatures.td RISCVMacroFusionXQCI.td

RISCV: Define macro fusion features separately from predicates

Move the fusion tuning features to RISCVFeatures.td with the other
tuning features, and attach the predicates with SimpleFusionFor and
FusionFor. The features no longer depend on the instruction definitions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+125-161llvm/lib/Target/RISCV/RISCVMacroFusion.td
+60-72llvm/lib/Target/RISCV/RISCVMacroFusionXQCI.td
+104-0llvm/lib/Target/RISCV/RISCVFeatures.td
+289-2333 files

LLVM/project 1efddc5 — llvm/include/llvm/Target TargetMacroFusion.td, llvm/test/TableGen MacroFusionDuplicate.td MacroFusionFor.td

TableGen: Allow macro fusion predicates for a separate subtarget feature

Fusion defines a subtarget feature and its fusion predicates in a single
record. The predicates reference instructions, so the feature can't be
defined without the instruction definitions. Add FusionFor and
SimpleFusionFor to attach fusion predicates to a SubtargetFeature
defined elsewhere.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+73-0llvm/test/TableGen/MacroFusionFor.td
+49-19llvm/include/llvm/Target/TargetMacroFusion.td
+30-0llvm/test/TableGen/MacroFusionDuplicate.td
+15-14llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
+19-1llvm/utils/TableGen/Common/CodeGenTarget.cpp
+6-1llvm/utils/TableGen/Common/CodeGenTarget.h
+192-351 files not shown
+193-367 files

LLVM/project c60156b — libc/shared/math acoshbf16.h, libc/src/__support/math acoshbf16.h

[libc][math] Implement acoshbf16 function (#236475)

Add `acoshbf16`, the bfloat16 inverse hyperbolic cosine function.
DeltaFile
+148-0libc/src/__support/math/acoshbf16.h
+69-0libc/test/src/math/smoke/acoshbf16_test.cpp
+34-0libc/test/src/math/acoshbf16_test.cpp
+28-0libc/shared/math/acoshbf16.h
+26-0libc/src/math/acoshbf16.h
+23-0libc/src/math/generic/acoshbf16.cpp
+328-027 files not shown
+439-133 files

HardenedBSD/ports 93fcd51 — devel/busd distinfo, security/openpgp-card-ssh-agent Makefile.crates distinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+1,075-0security/openpgp-card-tools-git/distinfo
+585-0security/openpgp-card-ssh-agent/distinfo
+536-0security/openpgp-card-tools-git/Makefile.crates
+221-233devel/busd/distinfo
+321-0x11-wm/awesome-devel/pkg-plist
+291-0security/openpgp-card-ssh-agent/Makefile.crates
+3,029-233263 files not shown
+4,137-1,168269 files

FreeBSD/ports 923f49b — devel/R-cran-bigmemory Makefile, devel/R-cran-pkgdepends Makefile

*/R-cran-*: Remove redundant BUILD_DEPENDS

Mk/Uses/cran.mk unconditionally sets NO_BUILD, so nothing runs during
the build phase.  The real work, R CMD INSTALL, happens in do-install
when run dependencies have already been installed.  Listing R-cran-*
packages in BUILD_DEPENDS, with or without cran:compiles, only installs
these dependencies earlier.

While here:
- math/R-cran-Amelia: move rlang, an Import that was only listed in
  BUILD_DEPENDS, to RUN_DEPENDS.  Bump PORTREVISION.
- math/R-cran-MatchIt: likewise for rlang; drop chk, which 4.8.1 no
  longer imports; bump PORTREVISION.
- textproc/R-cran-openxlsx, textproc/R-cran-readxl: drop knitr from
  BUILD_DEPENDS.  It is only a vignette builder and CRAN tarballs ship
  built vignettes.

Reviewed by:    dteske, eduardo, longros, uzsolt
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D60835
DeltaFile
+16-16devel/R-cran-pkgdepends/Makefile
+6-12math/R-cran-MatchIt/Makefile
+0-13math/R-cran-Zelig/Makefile
+6-6graphics/R-cran-s2/Makefile
+4-4devel/R-cran-bigmemory/Makefile
+2-3math/R-cran-Amelia/Makefile
+34-54103 files not shown
+35-166109 files

HardenedBSD/ports 923f49b — devel/R-cran-bigmemory Makefile, devel/R-cran-pkgdepends Makefile

*/R-cran-*: Remove redundant BUILD_DEPENDS

Mk/Uses/cran.mk unconditionally sets NO_BUILD, so nothing runs during
the build phase.  The real work, R CMD INSTALL, happens in do-install
when run dependencies have already been installed.  Listing R-cran-*
packages in BUILD_DEPENDS, with or without cran:compiles, only installs
these dependencies earlier.

While here:
- math/R-cran-Amelia: move rlang, an Import that was only listed in
  BUILD_DEPENDS, to RUN_DEPENDS.  Bump PORTREVISION.
- math/R-cran-MatchIt: likewise for rlang; drop chk, which 4.8.1 no
  longer imports; bump PORTREVISION.
- textproc/R-cran-openxlsx, textproc/R-cran-readxl: drop knitr from
  BUILD_DEPENDS.  It is only a vignette builder and CRAN tarballs ship
  built vignettes.

Reviewed by:    dteske, eduardo, longros, uzsolt
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D60835
DeltaFile
+16-16devel/R-cran-pkgdepends/Makefile
+6-12math/R-cran-MatchIt/Makefile
+0-13math/R-cran-Zelig/Makefile
+6-6graphics/R-cran-s2/Makefile
+4-4devel/R-cran-bigmemory/Makefile
+2-3math/R-cran-Amelia/Makefile
+34-54103 files not shown
+35-166109 files

LLVM/project 04e0db5 — mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/test/Target/LLVMIR/nvvm prefetch_valid_addr.mlir

[MLIR][NVVM] Add prefetch.L1.valid_addr Op (#238731)

This change adds support for 32 bytes L1 prefetch which requires valid
global address.
DeltaFile
+37-0mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+20-0mlir/test/Target/LLVMIR/nvvm/prefetch_valid_addr.mlir
+15-0mlir/test/Target/LLVMIR/nvvm/nvvmir-invalid/prefetch_valid_addr_invalid.mlir
+72-03 files

FreeBSD/ports 60eae5e — devel/libunicode-contour Makefile distinfo

devel/libunicode-contour: Update to 0.9.5

Changelog: https://github.com/contour-terminal/libunicode/releases/tag/v0.9.5

Reported by:    GitHub (watch releases)
DeltaFile
+5-5devel/libunicode-contour/distinfo
+1-1devel/libunicode-contour/Makefile
+6-62 files

HardenedBSD/ports 60eae5e — devel/libunicode-contour Makefile distinfo

devel/libunicode-contour: Update to 0.9.5

Changelog: https://github.com/contour-terminal/libunicode/releases/tag/v0.9.5

Reported by:    GitHub (watch releases)
DeltaFile
+5-5devel/libunicode-contour/distinfo
+1-1devel/libunicode-contour/Makefile
+6-62 files

LLVM/project 1f95d96 — flang/docs DoConcurrentConversionToOpenMP.md

[flang][OpenMP][NFC] Update do concurrent documentation (#238892)

Update `DoConcurrentConversionToOpenMP.md` to reflect the current state
of locality specifier support, and add combinatorial device tests to
verify locality specifier interactions on the GPU offloading path.

The existing documentation was written before locality specifiers were
implemented and described them as future work. This PR updates it to
reflect the current state. It also updates some other parts such as
moving some "Next Steps" to "Implementation notes" because some
so-called next steps have been long completed. For example, dedicated
`fir.do_concurrent` ops, delayed privatization etc).

Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
DeltaFile
+63-47flang/docs/DoConcurrentConversionToOpenMP.md
+63-471 files

LLVM/project ddd945f — mlir/include/mlir/IR Diagnostics.h, mlir/lib/IR Diagnostics.cpp

[mlir] Add Diagnostic::getStringArgument for diagnostic-owned strings (#236965)

Diagnostic metadata is a vector of `DiagnosticArgument`, and a string
argument only refers to its text. A caller that stores a non-constant
string in the metadata has to keep it alive itself, which in practice
means
interning it as a `StringAttr`. That takes the context lock and keeps
the
string alive until the context is destroyed.

This adds `Diagnostic::getStringArgument`, which copies a `Twine` into
the
storage the diagnostic already uses for streamed strings and returns an
argument that refers to it. The streaming operators use it as well.
DeltaFile
+17-0mlir/unittests/IR/Diagnostic.cpp
+6-2mlir/lib/IR/Diagnostics.cpp
+5-0mlir/include/mlir/IR/Diagnostics.h
+28-23 files

LLVM/project 48e0530 — flang/lib/Parser program-parsers.cpp, flang/test/Parser acc-declare-construct-names.f90 acc-declare-recovery.f90

[flang][OpenACC] Diagnose DECLARE directives in procedure lists (#237460)

An OpenACC DECLARE before an external procedure or between procedures
can produce misleading statement-function and end-program diagnostics.
Diagnose it with `OpenACC DECLARE directive must appear in the
specification part of the scope to which it applies` and recover in
program-unit, internal-subprogram, module-subprogram, and interface
lists.

Keep directive recognition and recovery-node construction in
openacc-parsers.cpp, and reuse the existing ErrorRecovery node across
these contexts. At file scope, give complete specification statements
and assignments precedence over procedure headers, preserving unnamed
main programs, keyword-shaped object names, and CUDA ATTRIBUTES
declarations. Reuse the ordinary SUBROUTINE recognizer, including its
malformed-header recovery.

Classify the directive prefix with the same directive grammar used to
consume it, so compiler directives ending at semicolons leave following

    [19 lines not shown]
DeltaFile
+660-0flang/test/Parser/acc-declare-procedure-contexts.f90
+658-0flang/test/Parser/acc-declare-misplaced.f90
+269-0flang/test/Parser/acc-declare-recovery.f90
+182-0flang/unittests/Frontend/FrontendActionTest.cpp
+126-0flang/test/Parser/acc-declare-construct-names.f90
+82-22flang/lib/Parser/program-parsers.cpp
+1,977-2211 files not shown
+2,240-4817 files

LLVM/project e67060d — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt clock_settime.h, libc/src/__support/time/linux CMakeLists.txt clock_settime.cpp

[libc] Use a syscall wrapper for clock_settime (#238738)

This PR move clock_settime behind the centralized syscall wrappers,
following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+46-0libc/src/__support/OSUtil/linux/syscall_wrappers/clock_settime.h
+35-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+2-26libc/src/__support/time/linux/clock_settime.cpp
+14-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+3-3libc/src/__support/time/linux/CMakeLists.txt
+100-295 files

LLVM/project 5863701 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt clock_gettime.h, libc/src/__support/time/linux CMakeLists.txt clock_gettime.cpp

[libc] Use a syscall wrapper for clock_gettime (#238737)

This PR move clock_gettime behind the centralized syscall wrappers,
following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+53-0libc/src/__support/OSUtil/linux/syscall_wrappers/clock_gettime.h
+8-15libc/src/__support/time/linux/clock_gettime.cpp
+18-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+14-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-3libc/src/__support/time/linux/CMakeLists.txt
+97-195 files

LLVM/project 661be7a — lld/COFF Driver.cpp, lld/test/COFF linkrepro.test

[lld][COFF] Mirror ELF LTO sample profile collection in reproducers (#225026)

Mirror ELF's reproducer behavior by archiving the file named by
/lto-sample-profile and rewriting the option's path in the generated
response file. This lets reproduced links load the profile from the
archive.
DeltaFile
+14-0lld/test/COFF/linkrepro.test
+9-0lld/COFF/Driver.cpp
+23-02 files

LLVM/project 8d8e089 — llvm/lib/Target/RISCV RISCVInstrInfo.cpp

[RISCV] Check hasStdExtZba() instead of hasShlAdd(3) before emitting Zba only instructions. (#239031)

hasShlAdd(3) allows Andes and T-Head extensions, but we only emit Zba
shXadd opcodes.

I think this code is only used by vector spill/reload. I don't know if
any Andes or T-Head cores support vector and the extensions in hasShlAdd
without also supporting Zba.
DeltaFile
+1-1llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+1-11 files

LLVM/project c0c4d22 — llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp, llvm/unittests/Target/AMDGPU MFMACoExecRules.cpp

[AMDGPU] Fix MFMA co-exec DS, VMEM, SALU and VALU stages for SMFMAC and DGEMM

getMFMACoExecInfo allowed DS, VMEM, SALU or VALU in the wrong cycles after
these gfx950 MFMAs:
- SMFMAC 16x16 holds VALU until cycle 3, not 2. Split them from the XDL
  16x16 entry, which allows VALU from cycle 2.
- SMFMAC 32x32 allows DS, VMEM and VALU from cycle 3, not 4.
- DGEMM 16x16x4 allows DS, VMEM and SALU from cycle 1, not 0.

MI350X issues VALU at cycle 3 after both SMFMAC sizes.

Update the expected stages in GFX950IssueStages.

Assisted-by: Claude Opus 5.5
DeltaFile
+12-6llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+3-6llvm/unittests/Target/AMDGPU/MFMACoExecRules.cpp
+15-122 files

LLVM/project 61f1ccf — llvm/unittests/Target/AMDGPU MFMACoExecRules.cpp

[AMDGPU] Precommit MFMA co-exec DS, VMEM and SALU stage tests (NFC)

Check the first cycle DS, VMEM and SALU can issue after each MFMA in
GFX950IssueStages. The expectations match the current table, which holds DS
and VMEM one cycle too long after SMFMAC 32x32 and allows DS, VMEM and SALU
one cycle too early after DGEMM 16x16x4.

Assisted-by: Claude Opus 5.5
DeltaFile
+17-9llvm/unittests/Target/AMDGPU/MFMACoExecRules.cpp
+17-91 files

LLVM/project 2ef02fa — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp SIPreEmitPeephole.cpp, llvm/test/CodeGen/AMDGPU rewrite-mfma-single-exit-copy.ll

[AMDGPU] Fix the packed F32 unpack window in SIPreEmitPeephole for gfx950

On gfx950 a v_pk_*_f32 issues at NumPasses + 3 after an XDL, but
collectUnpackingCandidates only unpacked up to NumPasses - 1. Where the
co-execution table holds PK_F32 past VALU, use the gap between their
co-issue cycles as the window.

Add a PK_F32 CoExecMask bit and gfx950 table slots, fitted to MI350X; the
coexec scheduler and hazard recognizer use them too.

MI350X clocks per MFMA plus four v_pk_fma_f32 (six for F8F6F4):
- BF16 16x16x32: 40 -> 36
- F8F6F4 16x16x128: 56 -> 52

Assisted-by: Claude Opus 5.5
DeltaFile
+163-2llvm/unittests/Target/AMDGPU/MFMACoExecRules.cpp
+54-3llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+18-33llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
+24-9llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
+7-11llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+8-4llvm/test/CodeGen/AMDGPU/rewrite-mfma-single-exit-copy.ll
+274-622 files not shown
+278-718 files

LLVM/project c7f17d0 — llvm/test/CodeGen/AMDGPU unpack-non-coissue-insts-post-ra-scheduler-gfx950.mir

[AMDGPU] Precommit SIPreEmitPeephole unpack window tests (NFC)

Add gfx950 cases where packed F32 instructions follow a BF16 XDL2x and an
F8F6F4 XDL2x, and where they follow an XDL2x behind a long S_NOP. The CHECK
lines record what the pass does today.

Assisted-by: Claude Opus 5.5
DeltaFile
+77-0llvm/test/CodeGen/AMDGPU/unpack-non-coissue-insts-post-ra-scheduler-gfx950.mir
+77-01 files