FreeNAS/freenas 5cf13d2

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

FreeNAS/freenas 1f80431src/middlewared/middlewared/alert/source ipmi_sel.py, src/middlewared/middlewared/pytest/unit/alert/inventory applicability.txt

NAS-142600 / 27.0.0-BETA.1 / Remove correctable ECC memory errors from `IPMISELAlert` (#19645)

And raise a separate error if there were more than 10 in the last 24
hours.
DeltaFile
+62-0src/middlewared/middlewared/pytest/unit/alert/source/test_ipmi_sel.py
+49-2src/middlewared/middlewared/alert/source/ipmi_sel.py
+2-0src/middlewared/middlewared/pytest/unit/alert/inventory/applicability.txt
+113-23 files

FreeNAS/freenas 8b707c9tests/api2 test_job_result.py

Test the client does not hang when it is given `job=True` for a non-job

(cherry picked from commit be97464857d1ae8661b0548f7c742c5be5b5f1ba)
DeltaFile
+14-0tests/api2/test_job_result.py
+14-01 files

FreeNAS/freenas ce9594ctests/api2 test_job_result.py

NAS-143783 / 27.0.0-BETA.1 / Test the client does not hang when it is given `job=True` for a non-job (#19720)
DeltaFile
+14-0tests/api2/test_job_result.py
+14-01 files

LLVM/project ad41389llvm/include/llvm/IR RuntimeLibcalls.h RuntimeLibcallsImpl.td, llvm/test/TableGen RuntimeLibcallEmitter-library-ref.td

RuntimeLibcalls: Add LibraryRef for dispatch-with-exclusion (#218869)

Let a SystemRuntimeLibrary dispatch a shared provider library while
dropping the impls the target replaces, since a library reference cannot nest 
inside (sub ...). This is a compromise from the ideal of explicitly listing all calls, 
but getting to that point is prooving to be difficult.

The opt-out is emitted inside setAvailableLibFuncs_<lib>, so the single library's
logic is self contained.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+89-19llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+53-0llvm/test/TableGen/RuntimeLibcallEmitter-library-ref.td
+8-0llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+4-0llvm/include/llvm/IR/RuntimeLibcalls.h
+154-194 files

LLVM/project 43b287eclang/include/clang/AST Decl.h DeclBase.h, clang/lib/AST DeclCXX.cpp DeclObjC.cpp

Cache DeclContext-to-Decl conversions

Store the owning Decl pointer when constructing each DeclContext and route
parent traversal and generic casts through it. This avoids a lazy lookup and
does not imply support for concurrent AST traversal.

CTMark O0 (three alternating matched-build samples, CPU 6): 28.990700 s ->
28.702600 s (-0.9938%). Peak build RSS: 258016 -> 259276 KiB (+0.4883%).
All 632 normalized objects matched in each pair.

MLIR build-time medians (three alternating matched-build samples, CPU 6):
- `mlir/lib/RegisterAllDialects.cpp`: 2.8115% fewer retired instructions,
  0.7353% less user CPU, 0.1972% less wall time, and 7144 KiB (+0.5257%)
  peak RSS.
- `mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp`: 1.5841% fewer retired
  instructions, 1.1120% less user CPU, 0.9893% less wall time, and 912 KiB
  (+0.0795%) peak RSS.

All MLIR outputs matched after removing only `.comment`; each concurrency

    [3 lines not shown]
DeltaFile
+3-19clang/lib/AST/DeclBase.cpp
+5-17clang/include/clang/AST/DeclBase.h
+10-8clang/lib/AST/Decl.cpp
+5-4clang/include/clang/AST/Decl.h
+3-3clang/lib/AST/DeclObjC.cpp
+2-2clang/lib/AST/DeclCXX.cpp
+28-534 files not shown
+33-5710 files

LLVM/project 408a094llvm/lib/CodeGen MachinePipeliner.cpp, llvm/test/CodeGen/PowerPC sms-regpress.mir

[MachinePipeliner] Use VirtRegOrUnit instead of Register appropriately (#177535)

Resolve the FIXMEs in MachinePipeliner added in #167730, primarily by
replacing `Register` with `VirtRegOrUnit` where necessary to remove
invalid `static_cast`s. Based on my local testing, there was no
noticeable performance impact.

---------

Co-authored-by: Harsha Jagasia <harsha.jagasia at amd.com>
DeltaFile
+32-56llvm/lib/CodeGen/MachinePipeliner.cpp
+8-1llvm/test/CodeGen/PowerPC/sms-regpress.mir
+40-572 files

FreeBSD/ports 1924e64net-mgmt/monitoring-plugins distinfo Makefile

net-mgmt/monitoring-plugins: fix check_swap with multiple swap volumes

Pull upstream patch:
https://github.com/monitoring-plugins/monitoring-plugins/pull/2342
DeltaFile
+7-2net-mgmt/monitoring-plugins/Makefile
+5-1net-mgmt/monitoring-plugins/distinfo
+12-32 files

LLVM/project 1f83538clang/lib/AST/ByteCode Opcodes.td Compiler.cpp, clang/test/AST/ByteCode c.c builtin-object-size-codegen.c

[clang][bytecode] Apply pointer casts to opaque pointers (#223607)

For `((char *)&sqlite3Prepare_sParse) + 4`, the final byte offset should
be `4`, not `4 * sizeof(sqlite3Prepare_sParse)`. To handle that, we need
to actually pass the cast along to the opaque pointer.
DeltaFile
+56-6clang/lib/AST/ByteCode/Interp.cpp
+2-34clang/lib/AST/ByteCode/Interp.h
+12-0clang/test/AST/ByteCode/c.c
+12-0clang/test/AST/ByteCode/builtin-object-size-codegen.c
+2-1clang/lib/AST/ByteCode/Compiler.cpp
+1-1clang/lib/AST/ByteCode/Opcodes.td
+85-426 files

LLVM/project 81353cbflang/lib/Semantics resolve-names.cpp, flang/test/Semantics resolve46.f90

[Flang] Avoid crash resolving restricted specific intrinsics (#217852)

Name resolution assumed that every specific intrinsic function handled
in a procedure context was unrestricted and had a numeric result. An
undeclared LLT used as a procedure pointer target therefore triggered a
CHECK because LLT is restricted and returns LOGICAL.

Rename the handler to reflect that it resolves both restricted and
unrestricted specific intrinsic functions. Preserve result types only
for unrestricted intrinsics; restricted intrinsics retain an untyped
symbol so later semantic checks can issue the appropriate diagnostic.

Fixes https://github.com/llvm/llvm-project/issues/208825

Co-authored-by: yixiao <yixiao at hygon.cn>
DeltaFile
+43-0flang/test/Semantics/resolve46.f90
+16-11flang/lib/Semantics/resolve-names.cpp
+59-112 files

FreeBSD/ports b091d17textproc/mandoc Makefile

textproc/mandoc: Take maintainership

I am the maintainer of mandoc in base, and have developed a good
relationship with upstream. I intend to switch mandoc in base to
track the stable release when it arrives later this year, and then
track snapshots with this port.

Reviewed by:            bapt
Differential Revision:  https://reviews.freebsd.org/D59614
DeltaFile
+1-1textproc/mandoc/Makefile
+1-11 files

LLVM/project 3d5b181llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp, llvm/test/CodeGen/AMDGPU mad-mix.ll

[AMDGPU][GlobalISel] Fold neg/abs modifiers when mad-mix selects the low half

selectVOP3PMadMixModsImpl re-runs the fneg/fabs match after rewriting Src
to the 32-bit register the 16-bit value is a half of, but only did so on
the isExtractHiElt path, not for isExtractLoElt.

The two halves are not symmetric. An fneg/fabs of a 32-bit float only
touches bit 31, which is the sign bit of the high half, so folding it
into a modifier on the selected high half is correct. The low half's sign
bit is bit 15, which such an fneg/fabs leaves alone, so only a modifier
that acts on each 16-bit element can be folded there. So the source must be
a 2 x 16-bit vector to fold it.
DeltaFile
+972-0llvm/test/CodeGen/AMDGPU/mad-mix.ll
+261-257llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
+26-32llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
+10-16llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-ext-neg-mul.ll
+9-6llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+1,278-3115 files

LLVM/project 9dffc7allvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp, llvm/test/CodeGen/AMDGPU mad-mix.ll

[AMDGPU][GlobalISel] Strip bitcasts in unmerge half-extraction matching (#223534)

isExtractHiElt/isExtractLoElt run their result through stripBitCast on
every path except the G_UNMERGE_VALUES ones, which returned the unmerge
source register raw. This change makes the handling uniform in all cases
DeltaFile
+45-171llvm/test/CodeGen/AMDGPU/mad-mix.ll
+2-2llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+47-1732 files

FreeNAS/freenas b6a5a31src/middlewared/middlewared/plugins/network_ route_sync.py

NAS-143790 / 26.0.0 / Log default route failures in route.sync instead of raising (by yocalebo) (#19733)

Guard every add, change and delete of the IPv4 and IPv6 default route so
a single netlink failure is logged and the rest of the sync continues.
The IPv6 add and change paths also catch OSError because the interface
named in the gateway may no longer exist.

Originally pointed out in:
https://github.com/truenas/middleware/pull/19565 but that one is
incomplete.

Original PR: https://github.com/truenas/middleware/pull/19731

---------

Co-authored-by: caleb <yocalebo at gmail.com>
DeltaFile
+69-26src/middlewared/middlewared/plugins/network_/route_sync.py
+69-261 files

FreeNAS/freenas cd32ecfsrc/middlewared/middlewared/plugins/network_routes route_sync.py

NAS-143790 / 27.0.0-BETA.1 / Log default route failures in route.sync instead of raising (#19731)

Guard every add, change and delete of the IPv4 and IPv6 default route so
a single netlink failure is logged and the rest of the sync continues.
The IPv6 add and change paths also catch OSError because the interface
named in the gateway may no longer exist.

Originally pointed out in:
https://github.com/truenas/middleware/pull/19565 but that one is
incomplete.
DeltaFile
+69-26src/middlewared/middlewared/plugins/network_routes/route_sync.py
+69-261 files

LLVM/project 208647ellvm/test/CodeGen/AMDGPU minimumnum.bf16.ll amdgcn.bitcast.128bit.ll

[AMDGPU] Fix for GFX11 VOPD interlock hazard
DeltaFile
+4,377-4,141llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+2,597-2,593llvm/test/CodeGen/AMDGPU/bf16.ll
+2,633-2,496llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,272-1,259llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+698-692llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
+422-427llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+11,999-11,60888 files not shown
+15,760-15,14794 files

LLVM/project be0f848llvm/test/CodeGen/SPIRV/debug-info debug-info-nonsemantic-version.ll

Fix tests.
DeltaFile
+6-6llvm/test/CodeGen/SPIRV/debug-info/debug-info-nonsemantic-version.ll
+6-61 files

OpenBSD/src yKfzI1Alib/libc/dlfcn init.c, sys/kern exec_elf.c

   The first aux-val to support getexecpath(3) was AUX_execpath at 15,
   which inconveniently collides with Linux behaviour so we now export
   "vendor" AUX_openbsd_execpath 4001.  There's a small window of time
   where libc+binaries would depend upon the kernel giving both but
   that's over.  sysupgrade -s makes this delay pointless.  This removes
   AUX_execpath.
VersionDeltaFile
1.205+1-5sys/kern/exec_elf.c
1.111+2-3sys/sys/exec_elf.h
1.29+1-2lib/libc/dlfcn/init.c
+4-103 files

LLVM/project 30a496bclang/include/clang/Basic CodeGenOptions.h, clang/include/clang/Options Options.td

clang: Emit "exception-model" module flag (#220053)

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.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+43-0clang/test/CodeGen/exception-model-flag.c
+24-0clang/include/clang/Basic/CodeGenOptions.h
+13-0clang/lib/CodeGen/CodeGenModule.cpp
+4-2clang/lib/CodeGen/CGException.cpp
+2-2clang/include/clang/Options/Options.td
+1-1clang/lib/Frontend/CompilerInvocation.cpp
+87-56 files not shown
+93-1112 files

FreeNAS/freenas 06e97e2src/middlewared/middlewared/api/v26_0_0 core.py, src/middlewared/middlewared/api/v27_0_0 core.py

Add `errname` to `core.get_jobs` schema
DeltaFile
+1-0src/middlewared/middlewared/api/v27_0_0/core.py
+1-0src/middlewared/middlewared/api/v26_0_0/core.py
+2-02 files

LLVM/project 31ec577llvm/lib/Transforms/Scalar LICM.cpp

Collect per-iteration alias scopes in advance
DeltaFile
+37-50llvm/lib/Transforms/Scalar/LICM.cpp
+37-501 files

FreeNAS/freenas 5be9460src/middlewared/middlewared/pytest/unit/alert test_applicability_engine.py, src/middlewared/middlewared/pytest/unit/plugins test_failover.py

Model HA as a license feature instead of a license type

This commit adds changes to follow upstream collapsing enterprise_single and enterprise_ha into a single enterprise type, with HA moving into the features dict as its own key. The HA entitlement becomes an ordinary matrix vector keyed on that feature, so LicenseTypeRule has nothing left to decide and goes away with it.

Legacy blobs predate the feature vocabulary, so the shim injects the HA key when the blob names a second controller serial. That is the same condition which used to pick the enterprise_ha type, which is what keeps every fielded legacy pair licensed for failover.
DeltaFile
+22-16src/middlewared/middlewared/pytest/unit/utils/test_entitlements.py
+34-3src/middlewared/middlewared/pytest/unit/utils/test_license_legacy_utils.py
+3-25src/middlewared/middlewared/utils/entitlements/engine.py
+12-8src/middlewared/middlewared/pytest/unit/plugins/test_failover.py
+2-13src/middlewared/middlewared/utils/entitlements/policy.py
+7-8src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+80-7319 files not shown
+120-12225 files

LLVM/project 65deebfllvm/lib/Target/SPIRV/MCTargetDesc SPIRVBaseInfo.cpp

[review] Switch to unreachable.
DeltaFile
+1-2llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
+1-21 files

LLVM/project eee3badclang/lib/CIR/Lowering CIRPasses.cpp, clang/test/CIR/CodeGen call-conv-lowering-win64-skipped.c

[CIR] Skip call-conv lowering on Windows x86_64 (#223583)

The x86-64 classifier implements SysV.  We do not support Windows yet.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+18-0clang/test/CIR/CodeGen/call-conv-lowering-win64-skipped.c
+2-1clang/lib/CIR/Lowering/CIRPasses.cpp
+20-12 files

LLVM/project 4486451llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 avx10_2bf16-rounding.ll

[X86] Lower bf16 round-to-integer on AVX10.2 via vrndscalebf16 (#213276)

Follow-up to #212245.  

floor/ceil/trunc/rint/nearbyint/roundeven on bf16 are currently treated
as illegal causing them to be
promoted and causing scalarization of the vector cases.

AVX10.2 has packed vrndscalebf16, so mark these operations Legal for
v8bf16/v16bf16/v32bf16. The existing patterns already turns them into
X86ISD::VRNDSCALE with the matching immediate, so no new patterns are
needed.

Scalar bf16 reuses the path previously added in #212245.

llvm.round is left out since it is round-half-away-from-zero, which
vrndscale cannot encode.
For the strict version I kept the the old legalization for now since the
avx10.2 Instructions have hardcoded rounding and exception behavior.

    [5 lines not shown]
DeltaFile
+271-0llvm/test/CodeGen/X86/avx10_2bf16-rounding.ll
+28-15llvm/lib/Target/X86/X86ISelLowering.cpp
+299-152 files

FreeBSD/ports 950044dgraphics/epsonscan2 Makefile

graphics/epsonscan2: Fix building with CMake 4

PR:             298123
Approved by:    J.R. Oldroyd <fbsd at opal.com> (maintainer)
DeltaFile
+2-0graphics/epsonscan2/Makefile
+2-01 files

LLVM/project f0dc664flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP declare-target-interface.f90 declare-target-multiple-entry.f90

[Flang][OpenMP] Support declare target on interfaces local to procedures (#218877)

Declarative directives implicitly affecting the surrounding procedures
are handled differently for interface procedures in Flang due to the
fact that the corresponding evaluation during lowering is attached to
the parent program unit, rather than the interface.

However, the current implementation to handle this edge case for
`declare_target` is based on the incorrect assumption that this can be
detected by comparing the owning procedure's symbol to the symbol of the
program unit lexically containing the directive. This fails whenever an
interface is located anywhere except for the main program.

Instead, this patch queries the details of the program unit containing
the directive to check directly whether it's an interface. Anything
else, including alternative entries to a procedure, is handled in the
regular way.
DeltaFile
+295-0flang/test/Lower/OpenMP/declare-target-entry-iface.f90
+15-25flang/lib/Lower/OpenMP/OpenMP.cpp
+0-25flang/test/Lower/OpenMP/declare-target-multiple-entry.f90
+17-1flang/test/Lower/OpenMP/declare-target-interface.f90
+327-514 files

LLVM/project 41ebaadllvm/lib/Target/X86 X86InstrOperands.td X86InstrSSE.td, llvm/test/MC/X86/apx no-rex2-reject.s

X86: Stop overriding getRegClass

Making TargetInstrInfo::getRegClass virtual was an AMDGPU hack that should not
spread to other backends (X86 overrode it in #70958). The override kept GPR
operands out of the *_NOREX2 subclasses for instructions that cannot encode
r16-r31 with EGPR. Express this constraint with RegClassByHwMode instead, which
allows dropping the virtual.

This also enables the machine verifier to enforce the constraint, which was
previously ignored. Also fixes missing assembler tests enforcing the constraint.
There is custom assembler code for this case which may be deletable after this.

I don't really know about all the X86isms here, AI did most of that.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+65-65llvm/lib/Target/X86/X86InstrFPStack.td
+40-40llvm/lib/Target/X86/X86InstrSSE.td
+45-29llvm/utils/TableGen/X86RecognizableInstr.cpp
+63-10llvm/lib/Target/X86/X86InstrOperands.td
+62-0llvm/test/MachineVerifier/X86/apx-norex2-regclass.mir
+33-0llvm/test/MC/X86/apx/no-rex2-reject.s
+308-14410 files not shown
+380-20416 files

FreeNAS/freenas 52fd30asrc/middlewared/middlewared/pytest/unit/alert test_applicability_engine.py, src/middlewared/middlewared/pytest/unit/plugins test_failover.py

Model HA as a license feature instead of a license type

This commit adds changes to follow upstream collapsing enterprise_single and enterprise_ha into a single enterprise type, with HA moving into the features dict as its own key. The HA entitlement becomes an ordinary matrix vector keyed on that feature, so LicenseTypeRule has nothing left to decide and goes away with it.

Legacy blobs predate the feature vocabulary, so the shim injects the HA key when the blob names a second controller serial. That is the same condition which used to pick the enterprise_ha type, which is what keeps every fielded legacy pair licensed for failover.
DeltaFile
+22-16src/middlewared/middlewared/pytest/unit/utils/test_entitlements.py
+34-3src/middlewared/middlewared/pytest/unit/utils/test_license_legacy_utils.py
+3-25src/middlewared/middlewared/utils/entitlements/engine.py
+12-8src/middlewared/middlewared/pytest/unit/plugins/test_failover.py
+2-13src/middlewared/middlewared/utils/entitlements/policy.py
+7-8src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+80-7319 files not shown
+122-12225 files

LLVM/project f0d41abllvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG switch-select-remap.ll

[SimplifyCFG] Fix use-after-free in switch-on-select remap when the compared value is a PHI (#223632)

Fixes #223138

`simplifySwitchOnSelectRemap` turns `switch (select (X == C), K, X)`
into `switch X` and retargets case `C` to wherever `K` goes. It dropped
the old edge for `C` with `removePredecessor` before it installed `X` as
the switch condition. When `X` is a PHI in that old destination, which
is what happens when case `C` branches back to the switch's own block,
dropping the edge leaves the PHI with a single input, so it gets folded
and erased. The switch was then made to use the erased PHI. Everything
after that was reading freed memory, which is why the reported assertion
moves around between SimplifyCFG's dominator tree update,
ScalarEvolution's `isSCEVable` check and instcombine depending on the
run.

The fix is to set the switch condition to `X` before touching the CFG.
If the PHI fold happens, its RAUW now rewrites the switch operand along
with the compare and select, and the stale pointer is never used again.
DeltaFile
+46-0llvm/test/Transforms/SimplifyCFG/switch-select-remap.ll
+5-2llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+51-22 files