LLVM/project 435bbf8offload/unittests/OffloadAPI/kernel olLaunchKernel.cpp, offload/unittests/OffloadAPI/memory olMemFill.cpp

[Offload] Update skip list for level_zero Offload API tests (#220937)

olDestroyQueueTest.SuccessDelayedResolution - passes
olLaunchKernelFooTest.SuccessThreaded - ran 1000 times, all passed
olMemFillTest.SuccessLargeByteAlignedEnqueue - passes after fixes from
@311Volt
olLaunchKernelLocalMemStaticTest - it's not using dynamic shared memory,
just a static array which is valid
DeltaFile
+0-4offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+0-2offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
+0-1offload/unittests/OffloadAPI/memory/olMemFill.cpp
+0-73 files

LLVM/project d746b8allvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination uadd-usub-sat.ll

[ConstraintElim] Rewrite usub.sat to sub when it cannot saturate. (#220865)

usub.sat(A, B) is max(A - B, 0), so it is exactly A - B when A >=u B.
Check if we can prove the precondition, and if so replace it with a
plain sub nuw. We can also add NSW if A is non-negative.

This helps to both remove unnecessary usub.sat, as well as enables a
number of additional folds (once the usub.sat has been replaced by sub
it can be decomposed when checking conditions involving it, as we do the
rewrite before simplifying any condition involving it):
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1181

Alive2 Proofs: https://alive2.llvm.org/ce/z/v6gZwL

PR: https://github.com/llvm/llvm-project/pull/220865
DeltaFile
+151-0llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
+23-1llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+174-12 files

LLVM/project 44f5739llvm/lib/Target/AArch64 AArch64PredicateAsCounterLoopRewrites.cpp

Fix whitespace
DeltaFile
+1-0llvm/lib/Target/AArch64/AArch64PredicateAsCounterLoopRewrites.cpp
+1-01 files

LLVM/project 7ab4673llvm/lib/Transforms/Scalar MemCpyOptimizer.cpp, llvm/test/Transforms/MemCpyOpt stack-move-offset.ll

[MemCpyOpt] Avoid stack-move optzn for out-of-bounds copy reading at offset zero (#220931)

Following up on #217607, avoid performing stack-move optimization on
out-of-bounds memcpys in dead code, in this variant when the read starts
at offset zero.

Fixes: https://github.com/llvm/llvm-project/issues/220904.
DeltaFile
+37-0llvm/test/Transforms/MemCpyOpt/stack-move-offset.ll
+7-4llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+44-42 files

LLVM/project 80bd284offload/plugins-nextgen/common/include PluginInterface.h

[offload][nfc] Return an explicit error from createInterop (#220951)

The return type is Expected<omp_interop_val_t *> so a nullptr can be
incorrectly interpreted as a success and subsequently the nullptr could
get dereferenced. Make the error explicit.
DeltaFile
+2-1offload/plugins-nextgen/common/include/PluginInterface.h
+2-11 files

LLVM/project d4959cblldb/test/API/functionalities/breakpoint/two_hits_one_actual TestTwoHitsOneActual.py

[lldb][test] Disable TestTwoHitsOneActual.py on Windows on Arm (#220947)

See https://github.com/llvm/llvm-project/issues/220945.
DeltaFile
+2-1lldb/test/API/functionalities/breakpoint/two_hits_one_actual/TestTwoHitsOneActual.py
+2-11 files

LLVM/project e282c27llvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/test/CodeGen/AMDGPU amdgpu-attributor-asyncmark-leaf.ll

[AMDGPU] Mark the async marker intrinsics nocallback (#219099)

llvm.amdgcn.asyncmark and llvm.amdgcn.wait.asyncmark only set and await
a marker in the stream of async requests. They cannot transfer control
out of the module, so they qualify for nocallback.

Without it, AAAMDGPUMinAGPRAlloc takes its conservative arm for calls
that are not nocallback and reaches a pessimistic fixpoint, so no
amdgpu-agpr-alloc attribute is manifested. getMaxNumVectorRegs then
falls back to reserving half of the vector register file for AGPRs,
which halves the arch VGPRs available to any kernel that uses async LDS
copies.

---------

Co-authored-by: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
DeltaFile
+16-0llvm/test/CodeGen/AMDGPU/amdgpu-attributor-asyncmark-leaf.ll
+5-2llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+21-22 files

NetBSD/pkgsrc-wip 8a2c771rust198 Makefile distinfo

rust198: updated to 1.98.1
DeltaFile
+3-3rust198/distinfo
+2-1rust198/Makefile
+5-42 files

LLVM/project bb81d8ellvm/test/CodeGen/AMDGPU flat-saddr-atomics.ll mul.ll

[AMDGPU] Avoid slow 64-bit max/min/multiply instructions on GFX1250 (#207006)

On GFX1250 64-bit integer VALU max/min instructions are slower than
expanding to compare and select, and 64-bit integer VALU multiply is
slower than expanding to a sequence of 32-bit multiplies and adds. Avoid
them by pretending that these cases are not legal during instruction
selection.

Fixes: LCOMPILER-2207
DeltaFile
+256-208llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
+194-64llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+67-69llvm/test/CodeGen/AMDGPU/clmul.ll
+58-54llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
+52-51llvm/test/CodeGen/AMDGPU/mul.ll
+64-32llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
+691-47823 files not shown
+901-59229 files

FreeBSD/ports 173d7afsysutils/mstflint Makefile pkg-plist

sysutils/mstflint: update to 4.37.0.1

Sponsored by:   Netflix
DeltaFile
+3-3sysutils/mstflint/distinfo
+3-2sysutils/mstflint/pkg-plist
+1-1sysutils/mstflint/Makefile
+7-63 files

LLVM/project 96d0648llvm/lib/Target/AArch64 AArch64PredicateAsCounterLoopRewrites.cpp, llvm/test/CodeGen/AArch64 predicate-as-counter-loop-rewrites.ll

[AArch64] Use multi-vector intrinsics for masked load/store users of predicate-as-counter

If the user of the original wide mask is a masked load or store
intrinsic (matching the element size of the predicate-as-counter),
rewrite it directly to a masked multi-vector load/store.

This avoids materializing the vector mask and is easier to handle here
than later (e.g. in SelectionDAG), since we do not need to match the
concatenation of all `pext` segments of the predicate-as-counter.

Assisted-by: Codex
DeltaFile
+99-145llvm/test/CodeGen/AArch64/predicate-as-counter-loop-rewrites.ll
+110-1llvm/lib/Target/AArch64/AArch64PredicateAsCounterLoopRewrites.cpp
+209-1462 files

LLVM/project c74d1e4llvm/lib/Target/AArch64 AArch64PredicateAsCounterLoopRewrites.cpp, llvm/test/CodeGen/AArch64 predicate-as-counter-loop-rewrites.ll

[AArch64] Avoid materializing full masks for extractelement users of predicate-as-counter

If the user of the original wide mask is an `extractelement` and the
index is known to be within the first segment of the
predicate-as-counter, replace it with `extractelement(pext(counter, 0))`.

This avoids materializing the vector mask and produces a form that can
be folded into a conditional branch when the predicate-as-counter is
produced by a `whilelo`.

Assisted-by: Codex
DeltaFile
+91-152llvm/test/CodeGen/AArch64/predicate-as-counter-loop-rewrites.ll
+40-0llvm/lib/Target/AArch64/AArch64PredicateAsCounterLoopRewrites.cpp
+131-1522 files

LLVM/project 0cad251llvm/lib/Target/AArch64 CMakeLists.txt AArch64.h, llvm/test/CodeGen/AArch64 predicate-as-counter-loop-rewrites.ll

[AArch64] Add predicate-as-counter loop rewrite pass

This patch adds an AArch64 IR loop pass that rewrites wide loop-carried
`llvm.get.active.lane.mask` phis to predicate-as-counter `whilelo` phis
 (for SVE2.1 or streaming SME2 targets).

Users of the original mask are preserved by materializing vector
predicates with `aarch64.sve.pext`.

The element size and vector scale (VLx2 or VLx4) of the
predicate-as-counter is inferred from the mask load/store users within
the loop. These could be optimized to multi-vector loads/stores (though
that is not included in this patch).

For example, a loop like:

```
entry:
  %step = vscale x 64

    [32 lines not shown]
DeltaFile
+673-0llvm/test/CodeGen/AArch64/predicate-as-counter-loop-rewrites.ll
+458-0llvm/lib/Target/AArch64/AArch64PredicateAsCounterLoopRewrites.cpp
+10-0llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+2-0llvm/lib/Target/AArch64/AArch64.h
+1-0llvm/lib/Target/AArch64/CMakeLists.txt
+1,144-05 files

LLVM/project 2189e9alibsycl/unittests/mock helpers.cpp

[libsycl][Unit][NFC] Fix another unused capture warning (#217941)

A follow up for https://github.com/llvm/llvm-project/pull/217418 to
align the changes from https://github.com/llvm/llvm-project/pull/212104
with it.
DeltaFile
+3-3libsycl/unittests/mock/helpers.cpp
+3-31 files

FreeBSD/ports 29df97dgraphics/mesa-dri Makefile Makefile.common

graphics/mesa*: update to 26.2.2

PR:             298129
Approved by:    x11 (arrowd, maintainer)

Sponsored by:   tipi.work
DeltaFile
+3-3graphics/mesa-dri/distinfo
+1-1graphics/mesa-dri/Makefile.common
+0-1graphics/mesa-dri/Makefile
+4-53 files

LLVM/project cf763bcmlir/include/mlir/Dialect/Tosa/IR TosaComplianceData.h.inc, mlir/test/Dialect/Tosa tosa-validation-version-1p1-valid.mlir tosa-validation-version-1p0-invalid.mlir

[mlir][tosa] Add support for mxfp IDENTITY (#220624)

Tosa specification changes in
https://github.com/arm/tosa-specification/pull/61


Change-Id: Ib938e4915c14e14aeb465944875b2fed7e5e3698

Signed-off-by: Yuvaraj Venkatesh <yuvaraj.venkatesh at arm.com>
DeltaFile
+25-1mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+8-0mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
+8-0mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
+8-0mlir/test/Dialect/Tosa/ops.mlir
+49-14 files

LLVM/project e30271butils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes 70cd176 (#220941)

This fixes 70cd17698c18d749228c1fab98fdf677d0715e51 (#220739).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=70cd17698c18d749228c1fab98fdf677d0715e51

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+4-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+4-01 files

LLVM/project fdc57d9clang/lib/Driver ToolChain.cpp, clang/lib/Driver/ToolChains VEToolchain.cpp CommonArgs.cpp

[Clang] Always apply `-frtlib-add-rpath` if requested (#220697)

Summary:
This path used to try to infer if it was needed by using the language
options. The result was that if you tried to use this on a `.o` link job
you would not get the rpath behavior you would expect.

The reason it was this way stems from the fact that this used to be
implicit behavior, so it was being conservative. At some point one of
the maintainers dictated that we cannot add rpath by default, so we
ended up with this, but still being conservative.

If the user passes `-frtlib-add-rpath`, just add the rpath. Flang does
this already.
DeltaFile
+33-19clang/test/Driver/arch-specific-libdir-rpath.c
+7-9clang/lib/Driver/ToolChains/CommonArgs.cpp
+1-3clang/lib/Driver/ToolChain.cpp
+0-3clang/lib/Driver/ToolChains/VEToolchain.cpp
+41-344 files

LLVM/project 97aac42mlir/lib/Dialect/Linalg/Transforms Specialize.cpp

format
DeltaFile
+4-6mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
+4-61 files

FreeBSD/ports 5e7080fbiology Makefile, biology/py-macs2 distinfo pkg-descr

biology/py-macs2: Remove

MACS2 is dead upstream, with no plans to make it compatible with
cython 3.x or other newer dependencies.  Though the port was
set to expire in another month, I'm removing it now to stop wasting
package building resources.  It has not been buildable for some time.

(cherry picked from commit 08256be5a8582d2a23383495dc6a1ab477da3f97)
DeltaFile
+0-40biology/py-macs2/Makefile
+0-4biology/py-macs2/pkg-descr
+0-3biology/py-macs2/distinfo
+0-1biology/Makefile
+0-484 files

FreeBSD/src a5bb0fdsys/net iflib.c

iflib: update rs_pending based on descriptors consumed by isc_txd_encap

The new watchdog code triggers spurious watchdog resets on
NICs doing KTLS offload.  Fix this by using the actual segments
consumed by the NIC driver's isc_txd_encap.

The issue is that rs_pending is updated using an estimate of
the  descriptors that will be used for the current packet,
based on what bus_dma produced. However, NICs which support
ktls offload may do extra  DMAs (and consume extra
descriptors) to derive crypto state when re-transmitting
TLS segments.  This is the reason for allowing drivers to control
ift_pad.  When this happens, the estimated rs_pending may undercount.
This may also happen if NIC drivers consume extra descriptors for
other reasons. (eg, hw errata handling on e1000)

Reviewed by: kbowling
Differential Revision:  https://reviews.freebsd.org/D59321
Sponsored-by: Netflix
DeltaFile
+7-5sys/net/iflib.c
+7-51 files

LLVM/project bd3047cmlir/lib/Dialect/Linalg/Transforms Specialize.cpp, mlir/test/Dialect/Linalg transform-op-specialize-elemwise-binary.mlir decompose-generic-by-unfolding-projected-permutation.mlir

[MLIR][Linalg] Named ops morph cleanup
DeltaFile
+96-98mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
+9-57mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+1-1mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
+1-1mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
+107-1574 files

LLVM/project 0f78b9cclang/lib/AST/ByteCode Interp.h Disasm.cpp

[clang][bytecode] Remove Record::VirtualBaseMap (#220907)

Virtual bases are so rarely used that I don't think having a dedicated
map for them in every record is worth it.
DeltaFile
+7-6clang/lib/AST/ByteCode/Record.cpp
+1-3clang/lib/AST/ByteCode/Record.h
+2-2clang/lib/AST/ByteCode/Compiler.cpp
+1-2clang/lib/AST/ByteCode/Disasm.cpp
+1-1clang/lib/AST/ByteCode/Interp.h
+12-145 files

NetBSD/src TohFmuksys/arch/riscv/include bus_funcs.h

   riscv: Fix bus_space_{alloc,free,mmap} macros

   The macros bus_space_alloc, bus_space_free, and bus_space_mmap were
   incorrectly passing the bus space cookie as their first parameter.

   This patch updates these macros to pass the entire bus space tag pointer
   instead as per other macros.
VersionDeltaFile
1.6+4-4sys/arch/riscv/include/bus_funcs.h
+4-41 files

LLVM/project 37ca03dllvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp

[NFC][SPIRV] Converge different DIScope to MCRegister maps into a single one
DeltaFile
+38-49llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+16-31llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+54-802 files

LLVM/project f7e4fffllvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-typedef-namespace-scope.ll

[SPIRV] Converge different `resolveDebugParentScope` versions into a single one (#219925)

These 4 functions do more or less the same thing: they map the parent
scope of a debug entity to its associated register.
* resolveDebugFunctionParent
* resolveTypeScopeParent
* resolveLexicalBlockParent
* resolveGlobalVariableParent

This patch merges these 4 functions into a single one.

This patch also pipes the parent scope resolution for typedefs through
the new `resolveScope` function.

Closes #210331
DeltaFile
+22-87llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+13-34llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-typedef-namespace-scope.ll
+36-1223 files

LLVM/project bbf7c29clang/test/CIR/CodeGenCXX x86_64-arguments.cpp

[CIR] Enable callconv lowering in the x86_64 C++ argument test

Two cases here hit the coercion NYI this branch removes.  The pass now
runs on the file.

The `LLVM` lines for those two stopped at the open paren and passed whatever
the pass did with the argument.  Both prefixes now pin the coerced parameter
and the byte-8 access.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+19-7clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
+19-71 files

LLVM/project cd35d34clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

[CIR][NFC] Require the coercion offset to be passed explicitly

Assisted-by: Cursor / claude-opus-5
DeltaFile
+7-6clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+5-5mlir/lib/ABI/Targets/Test/TestTarget.cpp
+4-4mlir/unittests/ABI/ABIRewriteContextTest.cpp
+3-3clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+1-2mlir/include/mlir/ABI/ABIRewriteContext.h
+20-205 files

NetBSD/src 4OHa2nNsys/arch/riscv/include asm.h

   risc-v: fix assemble opcode helper macros

   - remove *_SUBI variants as these instructions don't exist and the
     assembler doesn't help. *_ADDI should be used.

   - use 'iw' instead of 'wi' to match real instructions.
VersionDeltaFile
1.14+5-9sys/arch/riscv/include/asm.h
+5-91 files

FreeBSD/src 70b70acsbin/pfctl pfctl.c, tests/sys/netpfil/pf anchor.sh

pfctl: fix printing of wildcard anchors

PR:             297839
MFC after:      1 week
Obtained from:  OpenBSD, henning <henning at openbsd.org>, 5b6657d4d8
Sponsored by:   Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 5de5140f06959f2724c626c7fab3e1c9187beefb)
DeltaFile
+30-0tests/sys/netpfil/pf/anchor.sh
+6-4sbin/pfctl/pfctl.c
+36-42 files