LLVM/project 5b9751butils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Fix build for 241de80d38d4482eeecc2c7f51dc1f2b7f06ad69 (#178527)

DeltaFile
+22-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+22-01 files

LLVM/project fdf28d2clang/include/clang/Basic AttrDocs.td

Attr Docs typos
DeltaFile
+2-2clang/include/clang/Basic/AttrDocs.td
+2-21 files

LLVM/project 599c2a0clang/lib/CodeGen CoverageMappingGen.cpp CGStmt.cpp, clang/test/CoverageMapping single-byte-counters.cpp

[Coverage][Single] Enable Branch coverage for loop statements (#113109)

Depends on: #112730 #113114


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
DeltaFile
+28-73clang/lib/CodeGen/CoverageMappingGen.cpp
+24-57clang/lib/CodeGen/CGStmt.cpp
+4-75clang/lib/CodeGen/CodeGenPGO.cpp
+19-60llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
+26-26clang/test/CoverageMapping/single-byte-counters.cpp
+20-20llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
+121-3114 files not shown
+142-34210 files

LLVM/project 032accdclang/lib/CodeGen CodeGenPGO.cpp CodeGenFunction.h

[clang][coverage] Introduce `hasSkipCounter` instead of `getIsCounterPair` (#178397)

The return value of `getIsCounterPair(S)` was `std::pair<bool,bool>` but
its `hasExec` wasn't used. So, introduce just the `hasSkipCounter(S)`.

It'd be better to name `getExecSkipCounterExistence` if
`std::pair<bool,bool>` would be resurrected in the future.
DeltaFile
+6-6clang/lib/CodeGen/CodeGenPGO.cpp
+2-1clang/lib/CodeGen/CodeGenFunction.h
+1-1clang/lib/CodeGen/CodeGenPGO.h
+9-83 files

LLVM/project e882aedllvm/lib/Target/RISCV RISCVInstrInfoP.td

[RISCV] Add assertions that binary and ternary classes are being used correctly in RISCVInstrInfoP.td. NFC (#178520)

The P extension defines an 'R' bit in some encodings that when set
indicates the instruction reads the destination register.

We had some problems in the past where we weren't using the ternary
classes for these cases. This patch adds asserts to better check this.
DeltaFile
+6-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+6-01 files

LLVM/project 1d82299libc/src/stdio sprintf_modular.cpp snprintf_modular.cpp, libc/src/stdio/printf_core parser.h float_impl.cpp

[libc] Modular printf option (float only)

This adds LIBC_CONF_PRINTF_MODULAR, which causes floating point support
(later, others) to be weakly linked into the implementation.
__printf_modular becomes the main entry point of the implementaiton, an
printf itself wraps __printf_modular. printf it also contains a
BFD_RELOC_NONE relocation to bring in the float aspect.

See issue #146159 for context.
DeltaFile
+45-13libc/src/stdio/printf_core/parser.h
+56-0libc/src/stdio/printf_core/float_impl.cpp
+54-0libc/src/stdio/sprintf_modular.cpp
+54-0libc/src/stdio/snprintf_modular.cpp
+51-0libc/src/stdio/vsnprintf_modular.cpp
+50-0libc/src/stdio/vsprintf_modular.cpp
+310-1345 files not shown
+720-3451 files

LLVM/project e8c5b5allvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

Rebase

Created using spr 1.3.7
DeltaFile
+121,418-138,354llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+43,323-44,825llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+12,842-18,547llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+14,350-15,880llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+275,557-217,6066,779 files not shown
+990,448-678,6056,785 files

GhostBSD/xconfig 987d445rc.d xconfig

Merge pull request #49 from ghostbsd/rc

Add rc.d script for xconfig with X11 auto-configuration
DeltaFile
+47-0rc.d/xconfig
+47-01 files

LLVM/project 97e1df1llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanTransforms.h, llvm/test/Transforms/LoopVectorize vplan-print-after-all.ll

[VPlan] Add hidden `-vplan-print-after-all` option (#175839)

This consists of the following changes: 
        
* Merge several overloads of `VPlanTransforms::runPass` into a single
function
  to avoid code duplication.
  
* Add helper macro `RUN_VPLAN_PASS` to capture the transformation name
  and pass it to the helper above for printing.

* Add new `-vplan-print-after-all` option (somewhat similar to existing
  `-vplan-verify-each`).
  
* Add two empty passes `printAfterInitialConstruction`/`printFinalVPlan`
so that initial/final
   VPlans would be supported in `-vplan-print-after-all`

This follows the original future plans in
https://github.com/llvm/llvm-project/pull/123640.
DeltaFile
+33-35llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+67-0llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
+24-18llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+15-15llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+7-0llvm/lib/Transforms/Vectorize/VPlan.cpp
+5-0llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+151-681 files not shown
+153-707 files

NetBSD/pkgsrc N6qTkcNconverters/orcus PLIST

   (converters/orcus) Remove redundent lines (Re: libtool)
VersionDeltaFile
1.14+1-13converters/orcus/PLIST
+1-131 files

FreeNAS/freenas 9706747src/middlewared/middlewared/plugins/system_dataset mount.py

Fix
DeltaFile
+2-2src/middlewared/middlewared/plugins/system_dataset/mount.py
+2-21 files

FreeBSD/src 79b05e7sys/compat/linuxkpi/common/include/linux radix-tree.h, sys/compat/linuxkpi/common/src linux_radix.c linux_xarray.c

linuxkpi: Add tag support to radix tree

The tag is used to perform lookup in a different way.

New functions were introduced:
* to set, check and clear a tag
* to walk through a radix tree based on a given tag

Furthermore, the `radix_tree_delete()` function was modified to clear
tags on deletion.

The amdgpu DRM driver started to use this in Linux 6.10.

While here, the `radix_tree_gang_lookup()` function was added because it
is very close to `radix_tree_gang_lookup_tag()`, but it is not used by
the DRM drivers as of this commit.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54503
DeltaFile
+215-4sys/compat/linuxkpi/common/src/linux_radix.c
+25-4sys/compat/linuxkpi/common/include/linux/radix-tree.h
+2-2sys/compat/linuxkpi/common/src/linux_xarray.c
+242-103 files

FreeNAS/freenas 938d4f6src/middlewared/middlewared/plugins/system_dataset mount.py

Fix
DeltaFile
+3-1src/middlewared/middlewared/plugins/system_dataset/mount.py
+3-11 files

NetBSD/pkgsrc 2BC3RG7doc CHANGES-2026

   doc: Updated converters/orcus to 0.21.0
VersionDeltaFile
1.716+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc 99xTrwGconverters/orcus Makefile

   (converters/orcus) Updated to 0.21.0, with asking at least gcc12

   (previous commit was missing following log, sorry)
   * When importing an XML document via orcus_xml, import_factory's
     finalize() method was previously not called which violates the
     interface contract.  This version fixes it.

   * added static method has_range(std::string_view stream) to both
     orcus_xml and orcus_json to detect whether a given XML and JSON
     document has at least one linkable range, respectively.

   * added a variant of orcus::detect() function that takes a document
     content and the format type to check against.  This variant only
     checks whether the document is of the specified type, and returns the
     result as a boolean value.

   * The following functions now take a binary stream containing file
     content as std::string_view as opposed to the previous const char* and
     size_t pair:

    [14 lines not shown]
VersionDeltaFile
1.55+2-1converters/orcus/Makefile
+2-11 files

LLVM/project 22d28e6flang/test/Lower volatile-openmp.f90

[flang][AIX] update type format in LIT (NFC) (#178505)

DeltaFile
+2-2flang/test/Lower/volatile-openmp.f90
+2-21 files

NetBSD/pkgsrc ZE1dFKiconverters/orcus PLIST Makefile

   (converters/orcus) +USE_CXX_FEATURES = c++20, implying for gcc12

   NetBSD/amd64 9.x fails with following line, later releases are OK.

   In file included from /usr/include/g++/memory:80:0,
                    from ../../include/orcus/stream.hpp:13,
                    from stream.cpp:8:
   /usr/include/g++/bits/unique_ptr.h: In instantiation of 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = orcus::file_content::impl; _Args = {std::basic_string_view<char16_t, std::char_traits<char16_t> >&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<orcus::file_content::impl>]':
   stream.cpp:191:44:   required from here
   /usr/include/g++/bits/unique_ptr.h:821:30: error: no matching function for call to 'orcus::file_content::impl::impl(std::basic_string_view<char16_t>&)'
        { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VersionDeltaFile
1.13+97-85converters/orcus/PLIST
1.54+13-3converters/orcus/Makefile
1.26+4-5converters/orcus/distinfo
+114-933 files

OPNSense/core 8448eb4src/etc/inc interfaces.inc, src/opnsense/scripts/interfaces rtsold_script.sh

interfaces: multi-dhcp6c support and custom PD association #7647

This splits off rtsold and dhcp6c into separate processes
which frees us from the restrictions of faked iterative IDs
for PD associations.  For NA we simply default to 0 now.

I'm not entirely sure why we settled for a single deamon of
dhcp6c back in the day, but there are certianly downsides to
it and I don't see something that wasn't fixed in the meantime
that makes this not work.
DeltaFile
+22-58src/etc/inc/interfaces.inc
+58-4src/www/interfaces.php
+6-6src/opnsense/scripts/interfaces/rtsold_script.sh
+86-683 files

FreeNAS/freenas 6c096acsrc/middlewared/middlewared/plugins/system_dataset mount.py

Fix
DeltaFile
+34-21src/middlewared/middlewared/plugins/system_dataset/mount.py
+34-211 files

LLVM/project 536670b.github/workflows libcxx-check-generated-files.yml

[Github] Make libcxx-check-generated-files.yml not run in forks

This is best practice according to
https://llvm.org/docs/CIBestPractices.html. Found this when looking at
PRs on forks and saw one running for libc++.
DeltaFile
+1-0.github/workflows/libcxx-check-generated-files.yml
+1-01 files

FreeBSD/src 20285casys/dev/virtio/network if_vtnet.c

vtnet: remove M_HASHTYPE when there is only one pair of rx/tx queue

Summary:
Doing so will let the upper layer know how to deal with software hash,
with benefits like inp_flowid can be set and m_pkthdr.flowid can be set
in output path.

Reviewed by: tuexen
Differential Revision: https://reviews.freebsd.org/D54929
DeltaFile
+10-2sys/dev/virtio/network/if_vtnet.c
+10-21 files

OpenBSD/src OpML6UAsys/uvm uvm_pdaemon.c

   In uvm_pdaemon.c 1.121, 1.122, and 1.123, two things happened:

   1. The shortage target inside uvmpd_scan() / uvmpd_scan_inactive() which
   used to be computed using the realtime uvmexp.free value, was replaced with a
   (historic prediction) using the pre-existing pagedaemon "shortage" variable.
   This means the scanner will continue work even if the system recovers
   memory asyncronously and has resolved the scarcity which caused the pagedaemon
   to be summoned.  That's a bad idea. The code should revert to observing
   realtime system conditions.  We don't have a diff for that yet, but the
   other concern is immediate:

   2. The pre-existing calculation of the "shortage" variable was changed
   significally, without verifying correct behaviour.
        size += shortage;
        ...
        shortage -= bufbackoff(&constraint, size * 2);
   since bufbackoff() returns how much it did, and generally succeeds at
   satisfying the full request size * 2, that is effectively "shortage =
   -shortage".  The scan function changes still expect a positive target

    [5 lines not shown]
VersionDeltaFile
1.152+7-2sys/uvm/uvm_pdaemon.c
+7-21 files

LLVM/project bef62f9mlir/include/mlir/Interfaces VectorInterfaces.td VectorInterfaces.h

[mlir] Add [may]updateStartingPosition to VectorTransferOpInterface

This commit adds methods to VectorTransferOpInterface that allow
transfer operations to be queried for whether their base memref (or
tensor) and permutation map can be updated in some particular way and
then for performing this update. This is part of a series of changes
designed to make passes like fold-memref-alias-ops more generic,
allowing downstream operations, like IREE's transfer_gather, to
participate in them without needing to duplicate patterns.
DeltaFile
+67-1mlir/include/mlir/Interfaces/VectorInterfaces.td
+1-0mlir/include/mlir/Interfaces/VectorInterfaces.h
+68-12 files

LLVM/project 3789e0fmlir/lib/Dialect/MemRef/Transforms FoldMemRefAliasOps.cpp, mlir/test/Dialect/MemRef fold-memref-alias-ops.mlir

[mlir][MemRef] Make fold-memref-alias-ops use memref interfaces

This replaces the large switch-cases and operation-specific patterns
in FoldMemRefAliashops with patterns that use the new
IndexedAccessOpInterface and IndexedMemCopyOpInterface, which will
allow us to remove the memref transforms' dependency on the NVGPU
dialect.

This does also resolve some bugs and potential unsoundnesses:
1. We will no longer fold in expand_shape into vector.load or
vector.transfer_read in cases where that would alter the strides
between dimensions in multi-dimensional loads. For example, if we have
a `vector.load %e[%i, %j, %k] : memref<8x8x9xf32>, vector<2x3xf32>`
where %e is
`expand_shape %m [[0], [1], [2. 3]] : memref<8x8x3x3xf32> to 8x8x9xf32,
we will no longer fold in that shape, since that would change which
value would be read (the previous patterns tried to account for this
but failed).
2. Subviews that have non-unit strides in positions that aren't being

    [15 lines not shown]
DeltaFile
+401-419mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+292-1mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
+693-4202 files

LLVM/project 4a99fcdmlir/include/mlir/Dialect/MemRef/IR MemRefOps.td, mlir/include/mlir/Dialect/NVGPU/IR NVGPUOps.td

[mlir] Implement indexed access op interfaces for memref, vector, gpu, nvgpu

This commit implements the IndexedAccessOpInterface and
IndexedMemCopyInterface for all operations in the memref and vector
dialects that it would appear to apply to. It follows the code in
FoldMemRefAliasOps and ExtractAddressComputations to define the
interface implementations. This commit also adds the interface to the
GPU subgroup MMA load and store operations and to any NVGPU operations
currently being handled by the in-memref transformations (there may be
more suitable operations in the NVGPU dialect, but I haven't gone
looking systematically)

This code will be tested by a later commit that updates
fold-memref-alias-ops.

Assisted-by: Claude Code, Cursor (interface boilerplate, sketching out
implementations)
DeltaFile
+162-0mlir/lib/Dialect/Vector/Transforms/IndexedAccessOpInterfaceImpl.cpp
+66-64mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
+115-0mlir/lib/Dialect/GPU/Transforms/IndexedAccessOpInterfaceImpl.cpp
+81-18mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+90-0mlir/lib/Dialect/NVGPU/Transforms/MemoryAccessOpInterfacesImpl.cpp
+36-8mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
+550-9015 files not shown
+678-9621 files

LLVM/project 241de80mlir/include/mlir/Dialect/MemRef/IR MemoryAccessOpInterfaces.td MemoryAccessOpInterfaces.h, mlir/lib/Dialect/MemRef/IR MemoryAccessOpInterfaces.cpp CMakeLists.txt

[mlir][memref] Define interfaces for ops that access memrefs at an index (#177013)

This commit defines interfaces for operations that perform certain kinds
of indexed access on a memref. These interfaces are defined so that
passes like fold-memref-alias-ops and the memref flattener can be made
generic over operations that, informally, have the forms `op ... %m[%i0,
%i1, ...] ...` (an IndexedAccessOpInterface) or the form `op %src[%s0,
%s1, ...], %dst[%d0, %d1, ...] size ...` (an IndexedMemCopyOpInterface).

These interfaces have been designed such that all the passes under
MemRef/Transforms that currently have a big switch-case on memref.load,
vector.load, nvgpu.ldmatrix, etc. can be migrated to use them.

(This'll also let us get rid of the awkward fact that we have memref
transforms depending on the GPU and NVGPU dialects)

While the interface doesn't currently contemplate changing element types
(enabling, for example, writing a bf16 => u16 update to be done in
place), future extensions to allow such transformations could be worth

    [7 lines not shown]
DeltaFile
+198-0mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.td
+65-0mlir/lib/Dialect/MemRef/IR/MemoryAccessOpInterfaces.cpp
+32-0mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.h
+2-0mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
+1-0mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
+298-05 files

FreeNAS/freenas 88c0d18src/middlewared/middlewared/migration 0018_resolve_dataset_paths.py

clean migration
DeltaFile
+59-65src/middlewared/middlewared/migration/0018_resolve_dataset_paths.py
+59-651 files

OPNSense/core 43de1e0. plist, src/etc/inc interfaces.inc

interfaces: generalise the dhcp6c_script using the new IFNAME variable #7647

Now that the new dhcp6c code is in 26.1 we can start using it.

The file was conceptually created inline via d36f0f4f62557 and before was
a single command line script... so add appropriate copyrights from that
time onward.

Many thanks to Martin for pinoeering this back in the day!
DeltaFile
+96-0src/opnsense/scripts/interfaces/dhcp6c_script.sh
+3-68src/etc/inc/interfaces.inc
+1-0plist
+100-683 files

OPNSense/core 1e1a6a3. Makefile

make: pretty up previous, use tools.git wording
DeltaFile
+7-5Makefile
+7-51 files

FreeBSD/src 670b568contrib/capsicum-test linux.cc capability-fd.cc, tests/sys/capsicum linux.cc capability-fd.cc

capsicum-test: Move out of contrib

Google developed the Capsicum unit test suite[1] as part of the
Capsicum-Linux[2] project, based on unit tests that existed in FreeBSD
and unit tests developed as part of the initial Capsicum-Linux port.

Capsicum-Linux was archived as of October 31, 2022 and is no longer
being maintained.  FreeBSD is currently the only consumer of and
contributor to the test suite.  Move the src into tests/sys/capsicum to
simplify ongoing maintenance.

The makefiles were deleted as we (continue to) use the existing bespoke
FreeBSD Makefile, and CONTRIBUTING.md was removed as the Google CLA is
no longer applicable.

[1] https://github.com/google/capsicum-test
[2] https://github.com/google/capsicum-linux

Reviewed by:    asomers, oshogbo

    [2 lines not shown]
DeltaFile
+0-1,500contrib/capsicum-test/linux.cc
+1,500-0tests/sys/capsicum/linux.cc
+0-1,359contrib/capsicum-test/capability-fd.cc
+1,359-0tests/sys/capsicum/capability-fd.cc
+1,097-0tests/sys/capsicum/procdesc.cc
+0-1,097contrib/capsicum-test/procdesc.cc
+3,956-3,95662 files not shown
+8,915-9,07468 files