LLVM/project e00e7b8 — llvm/test/Transforms/SLPVectorizer/AArch64 or-reduction-byte-pack.ll

[SLP][NFC]Add extra test for bitpack reduction, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/232683
DeltaFile
+440-3llvm/test/Transforms/SLPVectorizer/AArch64/or-reduction-byte-pack.ll
+440-31 files

LLVM/project 74f5529 — compiler-rt/lib/asan/tests asan_noinst_test.cpp

[compiler-rt][asan] Check ASAN_AVOID_EXPENSIVE_TESTS in ThreadedQuarantineTest (#232682)

Relates to #232239

This test creates 3000 threads which often hits resource limits on our
machines. I intend to make it respect EAGAIN, but in the meantime, I am
adding ASAN_AVOID_EXPENSIVE_TESTS in the same way it's done in
ManyThreadsTest.

I picked 90 for the lower amount because it's the same ratio used in
ManyThreadsTest. Might need to be lower in practice.
DeltaFile
+1-1compiler-rt/lib/asan/tests/asan_noinst_test.cpp
+1-11 files

LLVM/project 94e8b21 — clang/include/clang/Analysis ProgramPoint.h

[NFC][analyzer] Deduplicate logic in ProgramPoint (#231527)

Trivial cleanup to avoid the duplication of tricky pointer arithmetics
and consistently assert the core invariants in both constructors.
DeltaFile
+13-14clang/include/clang/Analysis/ProgramPoint.h
+13-141 files

FreeBSD/ports e11bc8b — sysutils/f3 Makefile, sysutils/f3/files patch-src_libutils.h

sysutils/f3: Fix build on i386

The MIN macro in libutils.h had no support for ints, as a result commit
bf3dd41 caused f3 to fail to compile on 32-bit architectures. Fixed
upstream in 0d08c4e.

Approved by:    yuri (mentor)
Differential Revision:  https://reviews.freebsd.org/D60719
DeltaFile
+20-0sysutils/f3/files/patch-src_libutils.h
+1-0sysutils/f3/Makefile
+21-02 files

LLVM/project 6121ee7 — llvm/include/llvm/Support Caching.h, llvm/lib/HTTP StreamedHTTPResponseHandler.cpp

[debuginfod] Abort cached file stream if request fails (#232038)

When an HTTP request fails while it already received some data, the
cached file stream is never committed. Destroying it in that state
raises a fatal error, crashing the program (see #184728).

This PR adds an `abort` method that should be called in this situation
before destroying the stream. For the default implementation, only the
output stream is closed. For the `CacheStream` in `llvm::localCache`,
the temporary file is discarded as well.

The test is based on David's reproducer. Since WinHttp seems to discard
the content-length header, I switched to timing out the response
instead.

Fixes #184728. This is still a bug for the symstore locator in lldb, but
I'll fix that in a followup.
DeltaFile
+41-0llvm/unittests/Support/Caching.cpp
+33-0llvm/test/tools/llvm-debuginfod-find/Inputs/partial_response.py
+20-3llvm/include/llvm/Support/Caching.h
+14-0llvm/test/tools/llvm-debuginfod-find/partial-response.test
+6-0llvm/lib/Support/Caching.cpp
+6-0llvm/lib/HTTP/StreamedHTTPResponseHandler.cpp
+120-32 files not shown
+126-48 files

LLVM/project 39806e8 — llvm/cmake/modules LLVMExternalProjectUtils.cmake

[runtimes] Build clang-scan-deps before configuring external projects

CMake discovers clang-scan-deps during compiler detection. With CMP0155
set to NEW, C++20 and newer targets such as the libc++abi object libraries
are scanned for module dependencies. Runtime configuration can currently
run before the scanner is built, leaving generated commands that invoke
CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-NOTFOUND.

Include clang-scan-deps in the default toolchain tools so it is available
before external projects are configured. Existing target filtering keeps
configurations without the scanner target supported.

Validated with a focused CMake 3.31.12 external-project fixture: runtime
configuration fails before the change, then discovers the scanner and
builds a C++23 object after it. Configuration without a scanner target also
passes.

Assisted-by: Codex
DeltaFile
+3-1llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+3-11 files

LLVM/project f801bc0 — llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

Address comments.
DeltaFile
+4-4llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+4-41 files

LLVM/project 7c7cdf2 — llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize early_exit_store_legality.ll early_exit_with_stores.ll

[LV] Remove single use restriction on ee-with-stores condition recipes. (#231137)

The vectorization style currently used for ee-with-stores and the
additional proposed styles do not need to copy the condition recipes
into the preheader or create phis, since we're not determining early
exits before entering the vector iteration in which they occur.

Instead, we're just moving the recipes to the top of the vector loop. As
such, we don't need to restrict the number of users, since we know the
affected recipes will be executed before any other users.
DeltaFile
+70-0llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+70-0llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
+30-2llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
+5-17llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-7llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+178-265 files

OPNSense/core cdd7a38 — src/opnsense/mvc/app/models/OPNsense/Auth User.xml User.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

system: fix scope change validation

Uses isDefault(), but also provides getDefault() which I think
could be of value in the future.  Easily added to a unit test
in any way.

Drop the note about /etc/passwd -- it was 2024 and we no longer
write any users to the OS.
DeltaFile
+19-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+2-6src/opnsense/mvc/app/models/OPNsense/Auth/User.php
+1-0src/opnsense/mvc/app/models/OPNsense/Auth/User.xml
+22-73 files

LLVM/project 2f6d91a — llvm/test/CodeGen/AMDGPU llvm.amdgcn.image.dim.indexed.nonuniform.ll llvm.amdgcn.image.dim.indexed.ll

[AMDGPU] Codegen for indexed image/sampler resources (#231457)
DeltaFile
+1,271-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.indexed.ll
+1,048-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.indexed.nonuniform.sample.ll
+1,048-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.indexed.nonuniform.ll
+1,032-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.indexed.sample.ll
+1,012-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.indexed.ll
+989-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.indexed.nonuniform.ll
+6,400-011 files not shown
+8,179-717 files

LLVM/project cafdb9f — llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

[LV] Rewrite Scalable preference computation (NFCI)

The computation is now in a single place, making precedence easier to
understand. The change is not completely NFC, but it is NFC where it
matters to keep the computation simple.

Previously, -force-vector-width="vscale x ..." would always override
-scalable-vectorization and yield Scalable=SK_AlwaysScalable. Now,
-scalable-vectorization always take precedence over -force-vector-width
to keep things simple. In practice, it doesn't really matter because
both CLI debug options aren't used together when a "vscale x ..." width
is forced.
DeltaFile
+28-26llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+28-261 files

LLVM/project 520b441 — llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlanConstruction.cpp

[VPlan] Remove dead InsertValue handling (NFC). (#232263)

Legality rejects every insertvalue in the loop: canWidenResultType only
accepts struct results for calls. Remove dead InsertValue handling
throughout the vectorizer.

PR: https://github.com/llvm/llvm-project/pull/232263
DeltaFile
+2-5llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+0-2llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-0llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+4-73 files

LLVM/project cc645da — llvm/test/Transforms/LoopVectorize scalable-width-one-with-off.ll disable-with-prefer-scalable.ll

Precommit tests showing loop hints can be ignored
DeltaFile
+38-0llvm/test/Transforms/LoopVectorize/disable-with-prefer-scalable.ll
+35-0llvm/test/Transforms/LoopVectorize/scalable-width-one-with-off.ll
+73-02 files

LLVM/project 26ba14b — llvm/test/Transforms/LoopVectorize scalable-width-one-with-off.ll pragma-scalable-width-with-scalable-off.ll

Rename and add more pragma and -scalable-vectorization tests

All tests are now prefixed with pragma-
DeltaFile
+0-38llvm/test/Transforms/LoopVectorize/disable-with-prefer-scalable.ll
+38-0llvm/test/Transforms/LoopVectorize/pragma-disable-with-scalable-prefer.ll
+38-0llvm/test/Transforms/LoopVectorize/pragma-disable-with-scalable-always.ll
+37-0llvm/test/Transforms/LoopVectorize/pragma-fixed-width-with-scalable-always.ll
+0-35llvm/test/Transforms/LoopVectorize/scalable-width-one-with-off.ll
+35-0llvm/test/Transforms/LoopVectorize/pragma-scalable-width-with-scalable-off.ll
+148-736 files

LLVM/project efd7e66 — mlir/include/mlir/Dialect/DLTI DLTIOpInterfaces.td, mlir/lib/Dialect/DLTI DLTI.cpp

[mlir][DLTI] Introduce an operation interface for scoped DLTI queries (#222776)

So far, DLTI queries have relied on scanning discardable attributes for
values implementing DLTIQueryInterface. This is problematic when that
data is used to determine operation semantics: semantic information
belongs in an operation's inherent attributes/properties, and should
have an explicit contract rather than depend on arbitrary discardable
attribute attachments.

Introduce DLTIQueryOpInterface, an OpInterface instead of the existing
AttributeInterface, with symmetric queryDlti and setDlti methods for
individual keys. Provide default implementations backed by an inherent
dlti attribute. Updates preserve unrelated map entries, a null value
removes a key, and attempts to mutate non-map representations fail.

Resolve the first query key by walking the operation and its ancestors
that implement the new interface, continuing upward when a scope cannot
answer that key. Resolve subsequent keys recursively through the
returned attribute's DLTIQueryInterface without restarting the ancestor

    [23 lines not shown]
DeltaFile
+91-34mlir/test/Dialect/DLTI/query.mlir
+82-23mlir/lib/Dialect/DLTI/DLTI.cpp
+70-2mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
+58-0mlir/include/mlir/Dialect/DLTI/DLTIOpInterfaces.td
+33-22mlir/test/Target/LLVMIR/target-to-data-layout-and-target-features.mlir
+53-0mlir/lib/Dialect/Func/IR/FuncOps.cpp
+387-8132 files not shown
+665-13938 files

LLVM/project 141f286 — llvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize/VPlan tail-folding.ll

[VPlan] Only create latch phis for values that need them. (#232282)

Update foldTailByMasking to not create phis for values defined in the
header/latch. Those values trivially do not need phis.

More generally, any block that dominates the latch should not need phis,
but that shape cannot happen currently (and we do not have a VPDT handy
to re-use).

PR: https://github.com/llvm/llvm-project/pull/232282
DeltaFile
+11-4llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
+3-1llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+14-52 files

LLVM/project a60110b — clang/test/CIR/Input cir-input-lower.cpp

[clang][CIR] Require x86 backend for cir-input-lower.cpp (#232669)

Fixes #232506

Test fails on our CIR bot:
https://lab.llvm.org/buildbot/#/builders/242/builds/619
error: unable to create target: 'No available targets are compatible
with triple "x86_64-unknown-linux-gnu"'

Relates to #232235
DeltaFile
+2-0clang/test/CIR/Input/cir-input-lower.cpp
+2-01 files

OPNSense/core 253d278 — src/opnsense/mvc/app/models/OPNsense/Auth User.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

system: fix scope change validation

Uses isDefault(), but also provides getDefault() which I think
could be of value in the future.  Easily added to a unit test
in any way.

Drop the note about /etc/passwd -- it was 2024 and we no longer
write any users to the OS.
DeltaFile
+19-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-2src/opnsense/mvc/app/models/OPNsense/Auth/User.php
+20-32 files

FreeBSD/ports c42e49b — sysutils Makefile, sysutils/u-boot-pinetab pkg-descr Makefile

sysutils/u-boot-pinetab: New port

Add support for the PineTab aarch64 tablet

PR:             298683
Reported by:    Guillaume Ballet <vice-shore-grid at duck.com>
DeltaFile
+7-0sysutils/u-boot-pinetab/pkg-descr
+7-0sysutils/u-boot-pinetab/Makefile
+1-0sysutils/Makefile
+15-03 files

LLVM/project 95e42e7 — lldb/test/API/functionalities/breakpoint/update_condition TestUpdateBreakpointCondition.py

[lldb][test] Disable TestUpdateBreakpointCondition.py on Windows on Arm (#232657)

Flaky on the buildbot,
see https://github.com/llvm/llvm-project/issues/206141.

For example https://lab.llvm.org/buildbot/#/builders/141/builds/24244

<...>\TestUpdateBreakpointCondition.py", line 67, in
test_update_condition_python_api
    self.assertTrue(thread.IsValid(), "Should stop at x > y condition")
                    ^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'IsValid'

Relates to #232235.
DeltaFile
+4-0lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
+4-01 files

OPNSense/core 5b6c5d2 — src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv4.php

Services: Kea DHCPv4: Add a simple shared_networks option to subnets

Subnets can now select an interface, subnets with the same interface will be put into a shared network.

This means its not decided by the interface IP of the receiving interface anymore, but by a mandatory client-classes membership
which is decided by matching a single DHCP option of the users choice as the gatekeeper to the subnet.

This way, multiple subnets can be served from the same interface.

backported version
DeltaFile
+56-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+56-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+50-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+8-2src/opnsense/scripts/kea/get_kea_leases.py
+6-1src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+176-45 files

LLVM/project c92bd7f — lldb/source/Expression IRInterpreter.cpp, lldb/test/API/functionalities/ptrauth_diagnostics/ptrauth_blend Makefile main.c

[lldb] Interpret the ptrauth intrinsics in IRInterpreter (#232467)

This PR is to upstream the support for `__ptrauth`-qualified pointer in
`IRInterpreter` on arm64e. The first commit is the downstream commit to
implement this support, and the second commit is to migrate the test to
recent test base class `Arm64eTestBase`.

---------

Co-authored-by: Adrian Prantl <aprantl at apple.com>
Co-authored-by: Vedant Kumar <vsk at apple.com>
Co-authored-by: Fred Riss <friss at apple.com>
DeltaFile
+52-0lldb/source/Expression/IRInterpreter.cpp
+23-0lldb/test/API/functionalities/ptrauth_diagnostics/ptrauth_blend/TestPtrauthBlendInterp.py
+13-0lldb/test/API/functionalities/ptrauth_diagnostics/ptrauth_blend/main.c
+2-0lldb/test/API/functionalities/ptrauth_diagnostics/ptrauth_blend/Makefile
+90-04 files

LLVM/project 25e28f2 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 bfloat.ll

[X86] Keep upper-16-bit f32 extractions in XMM for f16/v8i16

Teach combineBitcast and combineVectorInsert to keep this upper-16-bit
f32 extraction in XMM registers rather than bouncing through a GPR.

Depends on PR: https://github.com/llvm/llvm-project/pull/231112
Follow-up PR:  https://github.com/llvm/llvm-project/pull/230557
DeltaFile
+8-29llvm/test/CodeGen/X86/bfloat.ll
+31-0llvm/lib/Target/X86/X86ISelLowering.cpp
+39-292 files

LLVM/project 9d89343 — libcxx/utils/ci run-buildbot ensure-cmake.sh

[libc++] Provision a suitable CMake for CI builds

The previous commit raised cmake_minimum_required to 3.31. The GitHub
jobs already satisfy it (the Linux image pins 3.31.0, macOS uses brew,
Windows uses the hosted image), but some self-hosted Buildkite agents
ship an older CMake and their images cannot be updated by us.

Teach run-buildbot to check the CMake version up front. When the cmake
on PATH is new enough, this costs a single `cmake --version` and nothing
else changes. Otherwise, download a pinned, SHA-256 verified CMake
3.31.12 release binary into ${XDG_CACHE_HOME:-~/.cache}/libcxx (outside
the build directory that run-buildbot wipes) and, when no binary exists
for the host or it cannot run there, bootstrap it from source with the
host compilers rather than the runtime's CC/CXX. The install is
published with an atomic rename so concurrent builders on one agent
never see a partial cache entry.

An explicit CMAKE override is still honored but now validated; in the
provisioned or overridden cases its directory is prepended to PATH so

    [5 lines not shown]
DeltaFile
+180-0libcxx/utils/ci/ensure-cmake.sh
+25-11libcxx/utils/ci/run-buildbot
+205-112 files

FreeBSD/ports 0ffce61 — devel/py-virtualenv Makefile distinfo

devel/py-virtualenv: Update to 21.4.8

ChangeLog:

1. https://github.com/pypa/virtualenv/releases/tag/21.14.7
2. https://github.com/pypa/virtualenv/releases/tag/21.14.8

Reported by:    "github-actions[bot]" <notifications at github.com>
DeltaFile
+3-3devel/py-virtualenv/distinfo
+2-2devel/py-virtualenv/Makefile
+5-52 files

OpenBSD/ports 8RRxiHz — lang/php Makefile.inc, lang/php/8.3 Makefile

   move --with-pic to subdirs (8.6 rejects this and needs --enable-pic)
VersionDeltaFile
1.21+2-4lang/php/8.5/Makefile
1.205+1-2lang/php/Makefile.inc
1.48+2-1lang/php/8.4/Makefile
1.67+2-1lang/php/8.3/Makefile
+7-84 files

NetBSD/pkgsrc yrfAjpy — shells/fish distinfo, shells/fish/patches patch-crates_xtask_src_main.rs patch-crates_build-man-pages_build.rs

   fish: avoid spawning too many processes during build
VersionDeltaFile
1.1+15-0shells/fish/patches/patch-crates_xtask_src_main.rs
1.1+15-0shells/fish/patches/patch-crates_build-man-pages_build.rs
1.46+3-1shells/fish/distinfo
+33-13 files

LLVM/project ed169ff — compiler-rt/lib/builtins/cpu_model/aarch64/fmv baremetal.inc fuchsia.inc, compiler-rt/test/builtins/Unit aarch64_fmv_dependencies_test.c

[AArch64][FMV]Set undetectable dependent features during initialization (#231912)

Some targets don't set bits in __aarch64_cpu_features for all dependent
features of given feature during initialization as they cannot be
detected at runtime. This leads to incomplete initialization of
__aarch64_cpu_features, preventing resolver from selecting the right
version.

This patch manually sets those undetectable dependent features.

---------

Co-authored-by: Tomas Matheson <Tomas.Matheson at arm.com>
DeltaFile
+91-0compiler-rt/test/builtins/Unit/aarch64_fmv_dependencies_test.c
+16-0compiler-rt/lib/builtins/cpu_model/aarch64/fmv/windows.inc
+6-2compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
+3-2compiler-rt/lib/builtins/cpu_model/aarch64/fmv/baremetal.inc
+116-44 files

OpenBSD/src 5ceZHHJ — sys/dev/usb usb.h if_urndis.c

   attach to "RNDIS over Ethernet" subclass devices, such as the GL.iNet Mudi 7

   Patch by Nick H (nickcph at gmail)
VersionDeltaFile
1.75+3-2sys/dev/usb/if_urndis.c
1.65+3-1sys/dev/usb/usb.h
+6-32 files

LLVM/project 292fe44 — libsycl/src/detail device_image_wrapper.hpp context_impl.cpp, libsycl/unittests/program_manager program_cache.cpp

[libsycl] Introduce Kernel name based cache (#225865)

This PR introduces a kernel name based cache, such that repeated
submissions of the same `kernel` on the same `context` & `device`, skip
most of `ProgramAndKernelManager::getOrCreateKernel` procedure for
compatibility and preparation.

Caches are owned by `DeviceKernelInfo` which is provided by the fat
binary at point of registration. As such each Kernel has an
unoredered_map of `(Context, Device)` -> `(Symbol)`. For every new
context or device combination for a kernel, there will be a first time
cost going through the whole procedure for compatibility and
preparation.

Assisted by Claude
DeltaFile
+77-20libsycl/unittests/program_manager/program_cache.cpp
+49-0libsycl/src/detail/device_kernel_info.cpp
+29-0libsycl/src/detail/device_kernel_info.hpp
+20-3libsycl/src/detail/program_manager.cpp
+6-14libsycl/src/detail/device_image_wrapper.hpp
+19-1libsycl/src/detail/context_impl.cpp
+200-383 files not shown
+219-459 files