LLVM/project c444d8c — flang/lib/Lower/Support ReductionProcessor.cpp

[flang] Fix build on MacOS (#238284)

```
flang/lib/Lower/Support/ReductionProcessor.cpp:1134:31: error: use 'template' keyword to treat 'lookupSymbol' as a dependent template name
01:06:39    1134 |           builder.getModule().lookupSymbol<OpType>(reductionName)) {
01:06:39         |                               ^
01:06:39         |                               template
01:06:39   1 error generated.
```

I instead split the expression to match other code in the file.
DeltaFile
+2-2flang/lib/Lower/Support/ReductionProcessor.cpp
+2-21 files

FreeBSD/ports 719452a — devel/py-maturin Makefile Makefile.crates

devel/py-maturin: Update to 1.16.0

Changelog:

https://github.com/PyO3/maturin/releases/tag/v1.16.0
DeltaFile
+39-35devel/py-maturin/distinfo
+18-16devel/py-maturin/Makefile.crates
+1-2devel/py-maturin/Makefile
+58-533 files

NetBSD/pkgsrc-wip fbfcf01 — pkg_summary-utils Makefile

pkg_summary-utils: fix build failure (remove /usr/bin/env from shebang)
DeltaFile
+1-4pkg_summary-utils/Makefile
+1-41 files

LLVM/project 7ec8850 — llvm/include/llvm/Analysis ScalarEvolution.h, llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Don't recurse into isKnownPredicate from IsKnownPredicateViaAddRecStart

isKnownViaNonRecursiveReasoning is meant to use non-recursive checks, but
one of them, IsKnownPredicateViaAddRecStart, proves a predicate on two
AddRecs by calling isKnownPredicate on the AddRecs start values.

The start values may themselves be AddRecs of another loop.
For example, when a loop's IV starts at the exit value of the previous loop's IV.

Then that query recurses into every loop of such a chain, and each level
tries several proofs, so the number of queries grows exponentially with
the length of the chain.

Now prove the predicate on the start values with
isKnownViaNonRecursiveReasoning too, instead of isKnownPredicate.

This is less precise.
Before, isKnownPredicate could also prove the query by splitting the predicate,
and by induction.

    [3 lines not shown]
DeltaFile
+322-0llvm/test/Transforms/IndVarSimplify/addrec-start-chain.ll
+7-5llvm/lib/Analysis/ScalarEvolution.cpp
+9-2llvm/test/Transforms/IndVarSimplify/addrec-start-outer-induction.ll
+6-0llvm/include/llvm/Analysis/ScalarEvolution.h
+344-74 files

LLVM/project 6e5a44f — llvm/lib/CodeGen/GlobalISel CombinerHelper.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel udiv.i32.ll srem.i64.ll

[GlobalISel] Combine shifted power-of-two division and nonnegative signed div/rem (#236601)

Fold unsigned division by a shifted power-of-two constant into a logical
right shift. Convert signed division and remainder to unsigned
operations when both operands are known nonnegative.

Add MIR regression coverage and update AMDGPU assembly checks.

Fixes #236481

Assisted by: Claude Opus 5.5
DeltaFile
+532-0llvm/test/CodeGen/AMDGPU/GlobalISel/combine-intdiv.mir
+42-393llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
+157-161llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
+150-156llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
+6-60llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
+47-0llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+934-7704 files not shown
+977-79510 files

FreeBSD/ports 696f414 — net-mgmt/telegraf Makefile distinfo

net-mgmt/telegraf: Update to 1.40.3

Release notes:  https://github.com/influxdata/telegraf/releases/tag/v1.40.3
DeltaFile
+5-5net-mgmt/telegraf/distinfo
+1-2net-mgmt/telegraf/Makefile
+6-72 files

LLVM/project e6fbe04 — clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen complex-div-promoted-long-double.c

[CIR] Fix complex promoted division for double (#234289)

While working on long double format attribute, I wanted to make sure CIR
passes pick up and use the info correctly, however the possible affected
place where we figure out long double type on the fly was always
hardcoded to use `long_double<double>` type. It should use targetinfo's
long double instead, taking `-mlong-double` options into account.

Assisted-by: claude
DeltaFile
+53-0clang/test/CIR/CodeGen/complex-div-promoted-long-double.c
+15-3clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+68-32 files

LLVM/project dcf2789 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 kshift.ll

[X86] combineKSHIFT - move kshiftr(extract_subvector(X,C1),C2) handling to SimplifyDemandedVectorElts (#237324)

The combineKSHIFT fold didn't ensure that we retain zero in the
upper/shifted elements - we're better off handling this in
SimplifyDemandedVectorElts where we can still fold if we don't need the
zero'd elements

Fixes #235657
DeltaFile
+18-6llvm/lib/Target/X86/X86ISelLowering.cpp
+1-1llvm/test/CodeGen/X86/kshift.ll
+19-72 files

LLVM/project 5f967fa — utils/bazel/llvm-project-overlay/flang/unittests BUILD.bazel

Fix for #216960 (#238286)

Fix for #216960.
DeltaFile
+8-4utils/bazel/llvm-project-overlay/flang/unittests/BUILD.bazel
+8-41 files

LLVM/project eeb1dbf — llvm/test/CodeGen/AArch64 fixed-length-masked-stores.ll fixed_masked_interleaved_stores.ll, llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64 expand-masked-store.ll expand-masked-load.ll

[AArch64] Make all fixed-width masked loads/stores legal on SVE targets (#232757)

The loop vectoriser already generates calls to illegal fixed-width
masked loads and stores regardless of whether the TTI hook says
they are legal or not. Presumably it's because this is preferrable
to manually scalarising the operation at the IR level by introducing
blocks and control flow. However, it does mean that when SVE is
available the code quality is poor, particularly for wider-than-legal
types such as <32 x i8>. This patch returns true from the TTI hook
for all fixed-width types to prevent the ScalarizeMaskedMemIntrin
pass prematurely scalarising the masked operations when we can
use SVE instead.

This PR also makes it easier for us to use SVE in future for
wide masked loads with deinterleaving or wide masked stores with
interleaving. In such cases we should be able to lower the IR to
the SVE masked ld2/st2/etc instructions.
DeltaFile
+508-437llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
+96-812llvm/test/CodeGen/AArch64/fixed-length-masked-loads.ll
+472-429llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
+98-723llvm/test/CodeGen/AArch64/fixed-length-masked-stores.ll
+56-3llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
+52-1llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
+1,282-2,4051 files not shown
+1,282-2,4117 files

LLVM/project 5594e34 — llvm/test/CodeGen/X86 vector-shuffle-sse4a.ll

[X86] vector-shuffle-sse4a.ll - add AVX2 test coverage (#238265)
DeltaFile
+86-115llvm/test/CodeGen/X86/vector-shuffle-sse4a.ll
+86-1151 files

LLVM/project 7ff63a4 — llvm/test/Transforms/IndVarSimplify addrec-start-outer-induction.ll

[IndVarSimplify][NFC] Add a test for a predicate on AddRec starts

Add a test where a predicate on two AddRecs of an inner loop
is implied from the predicate on their start values,
which are IVs of the outer loop, and that predicate can
be proven by induction over the outer loop.

Assisted-By: Claude
DeltaFile
+65-0llvm/test/Transforms/IndVarSimplify/addrec-start-outer-induction.ll
+65-01 files

LLVM/project 42c86f8 — llvm/lib/Target/SPIRV SPIRVCallLowering.cpp, llvm/test/CodeGen/SPIRV spirv_param_decorations.ll

[SPIR-V] Emit ID decorations on function parameters as OpDecorateId (#229089)

Reuse the global decoration path so parameters get `<id>` operands too

Depends on #229056 and #229058
DeltaFile
+3-18llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
+11-1llvm/test/CodeGen/SPIRV/spirv_param_decorations.ll
+14-192 files

OpenBSD/src 9lBO2jp — usr.sbin/rpki-client cert.c

   rpki-client: use strncmp() after x509_location()

   Now that the protocol (always expected to be https:// or rsync://) is
   normalized, we can do a simpler check.

   Prompted by a report by Ties de Kock

   ok claudio
VersionDeltaFile
1.252+7-7usr.sbin/rpki-client/cert.c
+7-71 files

OpenBSD/src eWHjI2M — usr.sbin/rpki-client x509.c

   rpki-client: reject short URIs in x509_location()

   Reject URIs not long enough to hold https:// or rsync://. While "a:///b/c"
   is in principle legal, this isn't plausibly a valid URI that should occur
   in the wild. Reject certs containing this.

   pointed out by/ok claudio
VersionDeltaFile
1.138+2-2usr.sbin/rpki-client/x509.c
+2-21 files

LLVM/project b8e25fc — offload/libompaccsupport device.cpp, offload/test/offloading get_num_devices_device.c

[Offload][Omp] Use libomptarget values to initialize the Device Environment (#238271)

Use the values for total devices and device id from the libomptarget
side instead of the Plugin Interface.

With this not only we remove another usange of the Plugin Interface, but
make it more correct. As those values were only correct if only one RTL
was being used (probably 99.9% of the cases). This is a likely a
leftover of when it was initialized on the
Plugin side.

New test created by Claude.
DeltaFile
+37-0offload/test/offloading/get_num_devices_device.c
+2-3offload/libompaccsupport/device.cpp
+39-32 files

OpenBSD/src zqWq8OY — usr.sbin/rpki-client x509.c

   rpki-client: normalize known URI schemes in x509_location()

   RFC 3986 was written under full influence of the robustness principle,
   necessarily making all code handling URIs complicated and fragile. This
   is further exacerbated by RFC 5280 explicitly mentioning that scheme and
   host part of a URI are case-insensitive (for SAN, not explicitly for a
   URI accessLocation, but that seems implied).

   The schemes explicitly specified by RFC 6487 and friends are rsync and
   https and that's the only ones the callers do anything with. Normalize
   these to be lower case and accept other schemes (and currently no scheme)
   for simplicity. This avoids hitting an errx() in queue_add_from_cert().

   Reported by Ties de Kock

   ok claudio
VersionDeltaFile
1.137+27-2usr.sbin/rpki-client/x509.c
+27-21 files

NetBSD/pkgsrc-wip e4c5470 — llvm distinfo, llvm/patches patch-llvm_include_llvm_Support_Allocator.h patch-include_llvm_Support_Allocator.h

llvm: fix patch relative to WRKSRC issue
DeltaFile
+0-16llvm/patches/patch-llvm_include_llvm_Support_Allocator.h
+16-0llvm/patches/patch-include_llvm_Support_Allocator.h
+1-1llvm/distinfo
+17-173 files

LLVM/project f6a1d4d — llvm/lib/Transforms/Scalar DeadStoreElimination.cpp, llvm/test/Transforms/DeadStoreElimination multiblock-unreachable.ll

[DSE] Add `@llvm.coro.end.*` calls as roots for CFG walk (#238017)
DeltaFile
+37-3llvm/test/Transforms/DeadStoreElimination/multiblock-unreachable.ll
+14-2llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+51-52 files

FreeNAS/freenas 7ee69cd — src/middlewared/middlewared/plugins/ups upssched_event.py, tests/api2 test_530_ups.py

Fix more UPS tests

(cherry picked from commit b18e25761081a9d269edc478f29d4cbee6a08db9)
DeltaFile
+60-14tests/api2/test_530_ups.py
+37-16src/middlewared/middlewared/plugins/ups/upssched_event.py
+97-302 files

FreeNAS/freenas a23f157 — src/middlewared/middlewared/plugins/ups upssched_event.py, tests/api2 test_530_ups.py

NAS-144958 / 28.0.0-BETA.1 / Fix more UPS tests (#20087)

Production code issue: `handle_upssched_event` would shutdown the system
if `upsc` exits 1 while `upsd` restarts or the driver reconnects.

Forced shutdown flag was then persistently stored in `upsd` and
interfered with further tests.

Additionally, `ups.status` flags were compared as strings, not sets,
which was fragile.
DeltaFile
+83-15tests/api2/test_530_ups.py
+37-16src/middlewared/middlewared/plugins/ups/upssched_event.py
+120-312 files

LLVM/project d7328f1 — offload/include PluginManager.h Platform.h, offload/libompaccsupport CMakeLists.txt PluginManager.cpp

[Offload][Omp] Replace usages of Plugin getName (#237269)

Create a new class `PlatformTy` to add liboffload platform related
operations. Add a new `getName` method and use it substitute lingering
and already substituted `GenericPluginTy::getName` usages.

The new method also fixes a bug where we were printing an extra `NULL`
character with the platform name.

Assisted by Claude.
DeltaFile
+45-0offload/include/Platform.h
+28-0offload/libompaccsupport/Platform.cpp
+10-16offload/libompaccsupport/PluginManager.cpp
+11-0offload/include/PluginManager.h
+1-0offload/libompaccsupport/CMakeLists.txt
+95-165 files

LLVM/project ccc952c — llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize pr39417-optsize-scevchecks.ll

[LV] Allow runtime checks for low trip count loops without scalar epilogues (#197391)

Previously, under `CM_EpilogueNotAllowedLowTripLoop`, any loop with a
trip count below `TinyTripCountVectorThreshold` that required runtime
checks was barred from vectorization. However, vectorization should
still be considered profitable as long as the runtime check overhead
does not exceed the actual vectorization gains.

This patch makes `CM_EpilogueNotAllowedLowTripLoop` rely directly on the
minimum profitable trip count check. After this patch, vectorization is
only prohibited if the trip count is below the minimum profitable trip
count. `CM_EpilogueNotAllowedLowTripLoop` will focuse on preventing
scalar epilogue generation rather than restricting runtime checks.

TODO: Refine the cost calculation for scalar epilogues to eventually
remove `CM_EpilogueNotAllowedLowTripLoop`.

This change was suggested by Alexey Bataev in #176754 .
DeltaFile
+99-0llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
+68-25llvm/test/Transforms/LoopVectorize/X86/optsize.ll
+87-0llvm/test/Transforms/LoopVectorize/AArch64/low-trip-count-runtime-check.ll
+33-30llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+31-12llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
+37-0llvm/test/Transforms/LoopVectorize/AArch64/low-trip-count-fixed-vf-no-epilogue.ll
+355-675 files not shown
+418-8011 files

LLVM/project c667510 — clang/docs ReleaseNotes.md, clang/lib/Sema SemaOpenMP.cpp

[Clang][OpenMP] Fix capture of variables under nested default(firstprivate) (#216329)

This patch fixes a data-sharing attribute lookup in isOpenMPCapturedByRef
to use the default data-sharing attribute at the capture level being
considered, instead of that of the innermost directive.  The adjacent
check for an explicit data-sharing attribute already queries that level.

Previously, a construct with default(firstprivate) or default(private)
nested inside e.g. a 'parallel' region would cause the 'parallel'
region to capture the scalar variables it shares by copy, rather than
by reference.  Writes made through the copy via several routes were then
silently lost; the result of a reduction on the nested construct, a
write to a variable listed in a 'shared' clause on the nested construct, or a
write made by the 'parallel' region itself after the nested construct
had referenced the variable (the capture kind is decided by the first
reference).  This affects globals and function-scope statics as well as
local variables, and happens under plain -fopenmp (currently defaulting
to OpenMP 5.1).


    [8 lines not shown]
DeltaFile
+153-0clang/test/OpenMP/nested_default_firstprivate_capture_codegen.cpp
+6-3clang/lib/Sema/SemaOpenMP.cpp
+4-0clang/docs/ReleaseNotes.md
+163-33 files

NetBSD/pkgsrc 0hpFNbp — graphics/libjpeg-turbo Makefile

   libjpeg-turbo: adjust CHECK_PORTABILITY_SKIP
VersionDeltaFile
1.50+2-2graphics/libjpeg-turbo/Makefile
+2-21 files

FreeBSD/ports 467969d — x11-drivers/xf86-video-intel distinfo Makefile

x11-drivers/xf86-video-intel: Update to 2.99.917-939

Update WWW and TOOLS dependencies.

Changes:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/compare/b74b67f0f321...4a64400ec6a7

PR:             279380
Approved by:    x11 (maintainer timeout)
Approved by:    osa, fluffy (mentors, implicit)
Co-authored-by: jbeich
DeltaFile
+5-6x11-drivers/xf86-video-intel/Makefile
+3-3x11-drivers/xf86-video-intel/distinfo
+8-92 files

LLVM/project b9032a6 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt poll.h, libc/src/poll/linux CMakeLists.txt poll.cpp

[libc] Use a syscall wrapper for poll

This PR move poll behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+60-0libc/src/__support/OSUtil/linux/syscall_wrappers/poll.h
+5-36libc/src/poll/linux/poll.cpp
+20-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+15-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-3libc/src/poll/linux/CMakeLists.txt
+104-415 files

LLVM/project 9644a84 — offload/plugins-nextgen/amdgpu/src rtl.cpp

fix braces
DeltaFile
+2-1offload/plugins-nextgen/amdgpu/src/rtl.cpp
+2-11 files

LLVM/project 5046886 — clang/lib/AST/ByteCode DynamicAllocator.cpp Block.cpp

[clang][bytecode][NFC] Add a BlockFlags struct (#238248)

We can use this instead of three or four boolean parameters for the
Block constructors.
DeltaFile
+33-37clang/lib/AST/ByteCode/Block.h
+2-2clang/lib/AST/ByteCode/Program.cpp
+1-2clang/lib/AST/ByteCode/Block.cpp
+1-1clang/lib/AST/ByteCode/DynamicAllocator.cpp
+37-424 files

LLVM/project ce85d3f — offload/plugins-nextgen/amdgpu/dynamic_hsa hsa.cpp hsa_ext_amd.h, offload/plugins-nextgen/amdgpu/src rtl.cpp

[offload] Use HSA SVM for AMDGPU shared memory
DeltaFile
+176-29offload/plugins-nextgen/amdgpu/src/rtl.cpp
+68-0offload/test/api/omp_device_managed_memory_ops.c
+31-0offload/test/api/amdgpu_managed_memory_accessible.c
+27-1offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+12-0openmp/docs/design/Runtimes.md
+2-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
+316-301 files not shown
+317-307 files