LLVM/project 21cd772cmake/Modules LLVMVersion.cmake, libcxx/include __config

Bump version to 23.1.1
DeltaFile
+1-1llvm/utils/mlgo-utils/mlgo/__init__.py
+1-1llvm/utils/lit/lit/__init__.py
+1-1llvm/utils/gn/secondary/llvm/version.gni
+1-1libcxx/include/__config
+1-1cmake/Modules/LLVMVersion.cmake
+5-55 files

OPNSense/core 05a5ab8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

mvc: style sweep
DeltaFile
+4-2src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+4-2src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+0-5src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/Dhcp6SendOptionsField.php
+0-5src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/Dhcp6RequestOptionsField.php
+0-5src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/Dhcp4SendOptionsField.php
+0-5src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/Dhcp4RequestOptionsField.php
+8-242 files not shown
+8-268 files

LLVM/project 0c1af4ellvm/lib/Target/SPIRV SPIRVPassRegistry.def SPIRVCodeGenPassBuilder.cpp

[SPIRV][NewPM] Port AsmPrinter

Standard NewPM AsmPrinter porting.

Reviewers: aeubanks, Keenuts, VyacheslavLevytskyy

Pull Request: https://github.com/llvm/llvm-project/pull/219111
DeltaFile
+38-0llvm/lib/Target/SPIRV/SPIRVAsmPrinter.h
+36-0llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
+17-0llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
+3-0llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
+94-04 files

LLVM/project 6318635clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded vabd.c vabdu.c, clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded vabdu.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+2,428-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
+2,426-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+2,058-2libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+1,449-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
+1,449-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
+1,419-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
+11,229-158816 files not shown
+41,082-7,717822 files

LLVM/project 0233576llvm/lib/Target/SPIRV SPIRVPassRegistry.def SPIRVCodeGenPassBuilder.cpp

[SPIRV][NewPM] Port SPIRVPostLegalizer

Standard NewPM pass porting. Most of the implementation was already in
static functions so this was pretty simple.

Reviewers: Keenuts, aeubanks, VyacheslavLevytskyy

Pull Request: https://github.com/llvm/llvm-project/pull/219109
DeltaFile
+23-8llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+10-2llvm/lib/Target/SPIRV/SPIRV.h
+2-2llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+1-1llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
+37-135 files

LLVM/project 8c56622clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded vabd.c vabdu.c, clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded vabdu.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+2,428-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
+2,426-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+2,058-2libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+1,449-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
+1,449-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
+1,419-52clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
+11,229-158816 files not shown
+41,082-7,717822 files

LLVM/project 6bdcba2llvm/lib/Target/SPIRV SPIRVPassRegistry.def SPIRVCodeGenPassBuilder.cpp

[SPIRV][NewPM] Port SPIRVPreLegalizerCombiner

Standard NewPM pass porting. We do need to move the rule config parsing
into being per MF, but this should not be a noticeable regression.

Reviewers: aeubanks, Keenuts, VyacheslavLevytskyy

Pull Request: https://github.com/llvm/llvm-project/pull/219108
DeltaFile
+51-22llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
+10-2llvm/lib/Target/SPIRV/SPIRV.h
+2-2llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+1-2llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
+65-285 files

LLVM/project e4f71fbllvm/lib/Target/SPIRV SPIRVCodeGenPassBuilder.cpp SPIRVTargetMachine.cpp

[SPIRV][NewPM] Port SPIRVPreLegalizer

Standard NewPM pass porting. The pass does not use any analyses and was
already largely implemented as static functions so this is mostly just
adding the NewPM boilerplate.

Reviewers: aeubanks, Keenuts, VyacheslavLevytskyy

Pull Request: https://github.com/llvm/llvm-project/pull/219104
DeltaFile
+27-9llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+13-2llvm/lib/Target/SPIRV/SPIRV.h
+6-0llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
+2-2llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+1-1llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
+49-145 files

OPNSense/core 35b64b8src/etc/inc interfaces.inc

interfaces: parent support for PPP #10806

(cherry picked from commit 5fdad5ba9977b492b5a172d20395c8ede0990e5d)
DeltaFile
+13-0src/etc/inc/interfaces.inc
+13-01 files

OPNSense/core 5fdad5bsrc/etc/inc interfaces.inc

interfaces: parent support for PPP #10806
DeltaFile
+13-0src/etc/inc/interfaces.inc
+13-01 files

LLVM/project 467ec76llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp

[NFC][SPIRV] Fix dangling reference to a temporary MachineInstrBuilder (#219243)
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+1-11 files

NetBSD/src EG21gP2sys/dev/ic bcmgenet.c

   Pull up following revision(s) (requested by joe in ticket #443):

        sys/dev/ic/bcmgenet.c: revision 1.25

   PR kern/60592

   properly move bits to ensure unicast bit and locally administered
   bits were rightly set.
VersionDeltaFile
1.22.2.1+8-6sys/dev/ic/bcmgenet.c
+8-61 files

OpenZFS/src 58d73c9tests/zfs-tests/tests/functional/exec exec_001_pos.ksh

ZTS: exec_001_pos: copy the exec test binary under its own name

The test copies $STF_PATH/ls to $TESTDIR/myls and executes it directly,
to verify a filesystem with exec=on actually allows running a binary
from it. On Alpine, ls is an applet of a multi-call binary (the
"coreutils" package) that dispatches on argv[0]'s basename; invoked as
"myls" it doesn't recognize any applet by that name and exits with
"coreutils: unknown program 'myls'" before the exec=on behavior this
test is meant to verify ever comes into play.

Copy it to $TESTDIR/ls instead of $TESTDIR/myls. Dispatch is by basename
only, so this is a plain rename with no other behavior change, and
continues to exercise exactly what the test intends: copy a real binary
onto the pool and confirm it runs and mmap(2)s with PROT_EXEC
successfully.

exec_002_neg.ksh has the identical $TESTDIR/myls pattern but sets
exec=off before ever trying to run it; the kernel refuses the execve(2)
itself (EACCES/126) before the binary's own argv[0] dispatch would run

    [7 lines not shown]
DeltaFile
+4-4tests/zfs-tests/tests/functional/exec/exec_001_pos.ksh
+4-41 files

OpenZFS/src 85d9a28tests/zfs-tests/tests/functional/user_namespace user_namespace_001.ksh

ZTS: fix user_namespace_001 on Alpine Linux (BusyBox)

On Alpine, touch and chmod are symlinks to /bin/busybox, a multi-call
binary that determines the program to run from argv[0]. readlink -f
resolves through the symlink to /bin/coreutils, losing the program name,
which causes BusyBox to fail with "unknown program".

Drop readlink -f and use command -v directly, which returns the symlink
path itself. On other platforms the commands are real binaries, so this
is a no-op.

Fixes the following tests on Alpine 3.24:
- user_namespace/user_namespace_001

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18999
DeltaFile
+2-2tests/zfs-tests/tests/functional/user_namespace/user_namespace_001.ksh
+2-21 files

OPNSense/core 7ea50dasrc/etc/inc interfaces.inc

interfaces: parent support for PPP #10806
DeltaFile
+13-0src/etc/inc/interfaces.inc
+13-01 files

LLVM/project 6d7053allvm/include/llvm/ProfileData InstrProfWriter.h, llvm/lib/ProfileData InstrProfWriter.cpp

[InstrProf] Init -memprof-random-hotness-seed to constant default value (#217083)

There are two places where `llvm-profdata` uses randomness.
1. To generate random hotness values in MemProf, created in
https://github.com/llvm/llvm-project/pull/113998
2. To sample a set of traces here

https://github.com/llvm/llvm-project/blob/bc2e50bf7baf1c52370f8d8cdfee4bba2180d27a/llvm/lib/ProfileData/InstrProfWriter.cpp#L383-L391

Prior to this PR, these used two different implementations. Apparently
the implementation of `std::rand()` depends on the platform, causing the
test in https://github.com/llvm/llvm-project/pull/216878 to fail on
windows. Switching to `std::mt19937` should solve this problem, which is
already used to sample traces.

While I'm here, also create the `-random-seed` flag to alias
`-memprof-random-hotness-seed`, which is now used by both places in
`llvm-profdata`. Deprecate `-memprof-random-hotness-seed` in favor of
the alias `-random-seed`.

    [4 lines not shown]
DeltaFile
+57-0llvm/test/tools/llvm-profdata/merge-traces-seed.proftext
+7-17llvm/test/Transforms/PGOProfile/memprof.ll
+14-8llvm/tools/llvm-profdata/llvm-profdata.cpp
+5-13llvm/lib/ProfileData/InstrProfWriter.cpp
+2-4llvm/include/llvm/ProfileData/InstrProfWriter.h
+85-425 files

LLVM/project 44fd26cllvm/test/Transforms/PGOProfile thinlto_indirect_call_promotion.ll, llvm/test/Transforms/PGOProfile/Inputs thinlto_indirect_call_promotion.profraw update_thinlto_indirect_call_promotion_inputs.sh

[PGOProfile] Use .proftext in test to avoid binary blob (#219055)

Use `.proftext` in `thinlto_indirect_call_promotion.ll` to avoid
checking in the binary file `thinlto_indirect_call_promotion.profraw`
(and `update_thinlto_indirect_call_promotion_inputs.sh` that generates
the profile).

I ran `llvm-profdata show --text` to convert the `.profdata` file into a
`.proftext` file that could be inlined into the test. I actually had to
regenerate the `.profraw` file because of a version mismatch. I suspect
that the `REQUIRES: zlib` in the test was actually making this test not
run at all, because it was failing on my machine before this.

Also delete
`llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw`
which seems to be completely unused.
DeltaFile
+56-30llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
+0-62llvm/test/Transforms/PGOProfile/Inputs/update_thinlto_indirect_call_promotion_inputs.sh
+0-0llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
+0-0llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
+56-924 files

LLVM/project adb74d0clang/test/CodeGen pgo-instrumentation.c, clang/test/CodeGen/Inputs pgotestir.profraw pgotestclang.profraw

[InstrProf] Remove pgotestir.profraw test file (#219068)

Remove `pgotestir.profraw` which is actually the same as
`pgotestir.proftext`. Also rename `pgotestclang.profraw` to
`pgotestclang.proftext` since it is actually just a test file, not a
binary blob. Update the test to reflect these changes.
DeltaFile
+2-2clang/test/CodeGen/pgo-instrumentation.c
+0-1clang/test/CodeGen/Inputs/pgotestir.profraw
+0-1clang/test/CodeGen/Inputs/pgotestclang.profraw
+1-0clang/test/CodeGen/Inputs/pgotestclang.proftext
+3-44 files

OpenZFS/src 75c6fb7tests/zfs-tests/tests/functional/procfs procfs_list_stale_read.ksh

ZTS: procfs_list_stale_read: accept Alpine's EIO error message

The procfs_list_stale_read test expects `cat` to print "Input/output
error", which is the wording used by GNU coreutils.  Alpine's `cat`
reports the same EIO condition as "I/O error", causing the test to fail
even though the expected I/O error occurred.

Accept both error message variants so the test is independent of the
`cat` implementation's wording.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18998
DeltaFile
+2-1tests/zfs-tests/tests/functional/procfs/procfs_list_stale_read.ksh
+2-11 files

OpenZFS/src 0498c55module/os/linux/zfs vdev_disk.c

vdev_disk_open: fix ENOENT retry & cleanup error handling

In 88261a83ae I reorganized the blockdev open error handling to
accommodate the permission check. What I didn't notice was that I'd made
the ENOENT case break after the timeout, rather than looping and
retrying.

This commit fixes it up the right way, and this time adds a lot more
commentary to make it easier to see what's happening for each case.

Sponsored-by: TrueNAS
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18993
DeltaFile
+32-15module/os/linux/zfs/vdev_disk.c
+32-151 files

LLVM/project 18d1ed0llvm/lib/Transforms/Scalar Reassociate.cpp, llvm/test/Transforms/PhaseOrdering/AArch64 reassociate-fma-pairs.ll reduce_submuladd.ll

[Reassociate] Improve handling of fadd/fmul pairs (#218675)

Currently fadd/fmul pairs are treated as leaf nodes in order to preserve
pairs of instructions likely to result in FMA generation. However, doing
this unconditionally can prevent reassociation of deeper expression
trees. This commit fixes that by preserving an fadd/fmul pair as a leaf
only when the other operand of the fadd is not itself a reassociable
fadd expression.
DeltaFile
+70-70llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
+31-32llvm/test/Transforms/PhaseOrdering/AArch64/reassociate-fma-pairs.ll
+10-14llvm/test/Transforms/Reassociate/fma-pairs.ll
+8-3llvm/lib/Transforms/Scalar/Reassociate.cpp
+119-1194 files

OpenZFS/src b0fff48module/zfs arc.c

arc: harness buf_hdr's anon state invariant checks

There are several places where hdr is checked for arc_anon state
without the hash_lock, for example at arc_release() or at
arc_buf_destroy(), and it's supposed that the hdr must not be
in the hash table in this state and not having IO_IN_PROGRESS.
However, those invariants are not asserted in release builds.
But even if they would, there is one place in the current code
where they would pass without noticing the problem.

This place is at arc_write_done() where we first insert hdr
into the hash table, then clear IO_IN_PROGRESS flag, then drop
the reference and only then move its state from anon to mru:

  7048  exists = buf_hash_insert(hdr, &hash_lock); /* still anon */
        ...
  7081  arc_hdr_clear_flags(hdr, ARC_FLAG_IO_IN_PROGRESS);
  7082  VERIFY3S(remove_reference(hdr, hdr), >, 0); /* ref: 2 -> 1 */
  7084  if (exists == NULL && hdr->b_l1hdr.b_state == arc_anon)

    [32 lines not shown]
DeltaFile
+6-6module/zfs/arc.c
+6-61 files

OpenZFS/src e456404cmd/zdb zdb.c

zdb: add detailed diagnostics for MOS leaks and spacemap refs

- Print per-object leak details for leaked DSL clone maps and
  leaked SPA space map objects.
- When spacemap histogram refcounts mismatch, print component
  breakdown (dtl, metaslab, obsolete, checkpoint, log).
- List unreferenced histogram space map objects with their
  `smp_alloc` and `smp_length` fields for debugging.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Minkus <martin.minkus at gmail.com>
Closes #18906
DeltaFile
+198-23cmd/zdb/zdb.c
+198-231 files

NetBSD/pkgsrc Xy9SGO9www/firefox153 PLIST.Linux

   firefox153: fix Linux packaging
VersionDeltaFile
1.2+2-2www/firefox153/PLIST.Linux
+2-21 files

OpenZFS/src 3e328a0tests/zfs-tests/tests/functional/mmp mmp_write_uberblocks.ksh

ZTS: fix zinject argument order in mmp_write_uberblocks

glibc's getopt() permutes argv by default (a GNU extension), reordering
flags to the front regardless of where they appear. musl's getopt() is
strict POSIX and stops parsing options at the first non-option argument.
This test's zinject invocation places -L after the positional pool name
($TESTPOOL), which only glibc tolerates; under musl, zinject sees two
leftover positional tokens ($TESTPOOL and the argument to the now-
unparsed -L) and fails with "device (-d) injection requires a single
pool name" instead of injecting the fault.

Move "-L uber" before the positional pool name. This is accepted
identically under glibc's permuting getopt(), so the change is a no-op
on every other platform.

Fixes the following tests on Alpine 3.24:
- mmp/mmp_write_uberblocks

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>

    [2 lines not shown]
DeltaFile
+1-1tests/zfs-tests/tests/functional/mmp/mmp_write_uberblocks.ksh
+1-11 files

LLVM/project e775aaallvm/test/CodeGen/AArch64/GlobalISel legalize-fshr.mir legalize-fshl.mir, llvm/test/CodeGen/AMDGPU/GlobalISel fshr.ll fshl.ll

[GlobalISel] Drop nuw/nsw/disjoint when widening a result with G_ANYEXT (#218558)

nuw/nsw/disjoint flags are only true at the original width. G_ANYEXT
leaves the new high bits unconstrained, so they must be dropped.
DeltaFile
+38-38llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+34-34llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+51-0llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
+8-8llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshr.mir
+8-8llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshl.mir
+6-6llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
+145-949 files not shown
+191-13115 files

LLVM/project f194226llvm/lib/Transforms/Scalar StraightLineStrengthReduce.cpp, llvm/test/Transforms/StraightLineStrengthReduce/NVPTX scev-candidate-differences.ll scev-unknown-filtering.ll

[SLSR] Skip candidate-basis differences when `SCEVUnknown`s differ (NFC) (#217451)

After SLSR finds a non-constant delta for a candidate, it will continue
searching for a constant delta. However, when the set of `SCEVUnknown`s
differs between a candidate and a basis, the offset cannot be constant.
Thus, prune that candidate and avoid an expensive, fruitless call to
`getSCEVMinus()`.
DeltaFile
+43-0llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
+34-0llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/scev-unknown-filtering.ll
+1-1llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/scev-candidate-differences.ll
+78-13 files

LLVM/project 86779acllvm/lib/Target/AMDGPU AMDGPUPreLegalizerCombiner.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel combine-short-clamp-inverted-bounds.mir

[AMDGPU][GlobalISel] Fix i64-to-i16 clamp combine on inverted bounds (#216306)

`abs(Cmp2 - Cmp1)` check couldn't tell inverted bounds `(Lo > Hi)` from
valid ones, letting the combine build a med3 that clamped to the wrong
range instead of the constant smin/smax result
DeltaFile
+137-0llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp-inverted-bounds.mir
+12-14llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
+149-142 files

LLVM/project 4655324llvm/lib/Analysis CodeMetrics.cpp

[CodeMetrics] Cleanup ec75980 (NFC) (#219233)

Cleanup [[CodeMetrics] Remove NumCalls
(NFC)](https://github.com/llvm/llvm-project/pull/219120)
DeltaFile
+0-1llvm/lib/Analysis/CodeMetrics.cpp
+0-11 files

LLVM/project f85d895clang/include/clang/StaticAnalyzer/Checkers Checkers.td

Added HasDocumentation tag to the UseAfterLifetimeEnd checker.
DeltaFile
+1-1clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
+1-11 files