LLVM/project b1a3b4c — clang/docs ReleaseNotes.md AllocToken.md, clang/lib/CodeGen CGExpr.cpp

[Clang][AllocToken] Support TypeFuncHash and TypeFuncHashPointerSplit modes (#228492)

Extend Clang to support the `-falloc-token-mode=typefunchash` and
`-falloc-token-mode=typefunchashpointersplit` modes, which were added 
to LLVM in #227686.

In these modes, CodeGen attaches the qualified name of the enclosing
function as the third operand of !alloc_token metadata. Allocations
outside functions use an empty function name. When type inference fails,
metadata is still emitted with an empty type name, so that a
function-based
token can be assigned. This allows distinguishing allocations that would
otherwise all share the fallback token.

Like the Increment and Random modes, `__builtin_infer_alloc_token()`
is not supported in constant expressions under these modes.
DeltaFile
+130-0clang/test/CodeGenCXX/alloc-token-typefunchash.cpp
+45-7clang/lib/CodeGen/CGExpr.cpp
+14-1clang/docs/AllocToken.md
+14-0clang/test/SemaCXX/alloc-token-typefunchash.cpp
+5-0clang/test/CodeGen/alloc-token-inline.c
+5-0clang/docs/ReleaseNotes.md
+213-83 files not shown
+217-129 files

LLVM/project d300b80 — lldb/include/lldb/Target BorrowedStackFrame.h, lldb/source/Target BorrowedStackFrame.cpp

[lldb] Forward step plans through BorrowedStackFrame (#231657)

When a frame provider returns an index relative to its input frames,
LLDB wraps that frame in a BorrowedStackFrame. BorrowedStackFrame
forwards most StackFrame methods to the frame it borrows, except for
GetThreadPlanForStepType, so a scripted frame lost its custom step plans
as soon as another provider was stacked on top of it.

Forward it like the methods, and test stepping with a pass-through
provider stacked on top of a provider whose frames have step plans.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+36-6lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py
+28-0lldb/test/API/functionalities/scripted_frame_provider/step_with_type/frame_provider.py
+5-0lldb/source/Target/BorrowedStackFrame.cpp
+3-0lldb/include/lldb/Target/BorrowedStackFrame.h
+72-64 files

OpenZFS/src 6f29cdd — .github/workflows/scripts qemu-2-start.sh qemu-6-tests.sh

CI: Add an alpine3-24-kmemleak variant

Accept suffixed Alpine names in qemu-2-start.sh. For a name containing
"kmemleak", boot the linux-stable kernel with kmemleak=on and run ZTS
with -m, so each test is followed by a kmemleak scan. Run it by hand
with specific_os=alpine3-24-kmemleak.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #19359
DeltaFile
+7-1.github/workflows/scripts/qemu-6-tests.sh
+7-1.github/workflows/scripts/qemu-3-deps-vm.sh
+1-1.github/workflows/scripts/qemu-2-start.sh
+15-33 files

LLVM/project 2fe29ea — llvm/lib/Target/DirectX DXILLegalizePass.cpp, llvm/test/CodeGen/DirectX legalize-non-standard-integers-errors.ll legalize-i8-alloca.ll

Revert "[DirectX] Generalize DXIL integer legalization" (#231644)

Reverts llvm/llvm-project#225233
DeltaFile
+177-292llvm/lib/Target/DirectX/DXILLegalizePass.cpp
+0-373llvm/test/CodeGen/DirectX/legalize-non-standard-integers.ll
+79-133llvm/test/CodeGen/DirectX/legalize-i8.ll
+0-101llvm/test/CodeGen/DirectX/legalize-non-standard-integers-defined.ll
+11-60llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
+0-69llvm/test/CodeGen/DirectX/legalize-non-standard-integers-errors.ll
+267-1,0281 files not shown
+267-1,0957 files

LLVM/project 82f1833 — clang/test/OpenMP declare_variant_device_kind_codegen.cpp, flang/lib/Semantics openmp-utils.cpp

[flang][clang][OpenMP] Fix context selector matching and scoring

Fix how OMPContext matches and scores context selectors:

- Derive device selector weights from the depth of the construct context
  rather than from the candidate's construct selector count.
- Add each selector's score once, not once per property, using
  arbitrary-width arithmetic instead of 64-bit sums.
- Match construct selectors as an ordered subsequence of the context and
  score the highest-valued embedding. Keep partial matches for match_any.
- Apply the strict-subset rule to all applicable variants before choosing
  the best one, rather than only to break ties: a selector that is a
  strict subset of another compatible selector scores zero. Treat
  kind(any) as an absent kind selector, and compare ISA traits by property
  and name and user conditions by identity.
- Score an unknown property as unmatched instead of aborting. With two
  applicable candidates, one naming an unknown vendor, Flang aborted with
  "Unknown trait set is not to be used!".


    [17 lines not shown]
DeltaFile
+549-1llvm/unittests/Frontend/OpenMPContextTest.cpp
+223-138llvm/lib/Frontend/OpenMP/OMPContext.cpp
+64-8llvm/include/llvm/Frontend/OpenMP/OMPContext.h
+26-17clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
+9-4flang/lib/Semantics/openmp-utils.cpp
+871-1685 files

LLVM/project 0249bd8 — orc-rt/include/orc-rt-internal/tools OptionParser.h, orc-rt/test/unit/tools OptionParserTest.cpp

[orc-rt] Describe connection specs in ogre's help. (#231665)

ogre's help described its argument only as "[positional arguments]",
though it takes exactly one connection spec, and never said what forms a
spec can take.

OptionParser gains setPositionalUsage, to name the positional arguments
in the usage line, and setEpilogue, for text printed after the options.
ogre uses them to name its <connection-spec> argument and to list the
forms it accepts. Other tools' help is unchanged.
DeltaFile
+23-0orc-rt/test/unit/tools/OptionParserTest.cpp
+21-1orc-rt/include/orc-rt-internal/tools/OptionParser.h
+14-1orc-rt/tools/ogre/ogre.cpp
+58-23 files

FreeBSD/ports ec08f3e — sysutils/atop Makefile distinfo, sysutils/atop/files patch-atop.c patch-atop.h

sysutils/atop: update to atop-2.0.2.fbsd.beta4

This release integrates port patches and fixes garbage in the process
list.
DeltaFile
+0-56sysutils/atop/files/patch-photosyst.c
+0-14sysutils/atop/files/patch-atop.h
+0-12sysutils/atop/files/patch-atop.c
+3-2sysutils/atop/distinfo
+1-2sysutils/atop/Makefile
+4-865 files

LLVM/project 6c67a96 — clang/lib/Frontend CompilerInvocation.cpp, clang/test/Modules context-hash-module-map-file.c

[clang][modules] Include `-fmodule-map-file=` in context hash (#227776)

The `-fmodule-map-file=` arguments change whether headers are treated as
textual or modular. Not considering these options in the context hash
can lead to mis-compiles. This PR fixes that.
DeltaFile
+44-0clang/test/Modules/context-hash-module-map-file.c
+2-0clang/lib/Frontend/CompilerInvocation.cpp
+46-02 files

FreeBSD/src cd96657 — sys/dev/amdsmu amdsmu.c

amdsmu: Print how long system spent in S0i3

It's practical to have this printed out proactively, at least while this
is still very experimental.

Sponsored by:   The FreeBSD Foundation
DeltaFile
+5-1sys/dev/amdsmu/amdsmu.c
+5-11 files

FreeBSD/ports 6f17927 — www/freenginx Makefile, www/freenginx/files extra-patch-ngx_http_sflow_module.c

www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

Build the gridfs, postgres, redis2 and sflow modules from their own
source ports instead of fetching them with GH_TUPLE.

Sponsored by:   Netzkommune GmbH
DeltaFile
+0-59www/nginx/files/extra-patch-ngx_http_sflow_module.c
+0-59www/freenginx/files/extra-patch-ngx_http_sflow_module.c
+0-56www/nginx-devel/files/extra-patch-ngx_http_sflow_module.c
+23-9www/nginx/Makefile
+23-9www/nginx-devel/Makefile
+23-9www/freenginx/Makefile
+69-20124 files not shown
+102-48330 files

FreeBSD/ports 6b3966e — www Makefile, www/nginx-module-postgres distinfo pkg-descr

www/nginx-module-postgres: Add New Port

Sources of the postgres module for the NGINX ports.  The module queries
PostgreSQL from nginx itself, with no application in between, and answers
with the rows as text, as JSON, or as nothing but a status code.

Sponsored by:   Netzkommune GmbH
DeltaFile
+55-0www/nginx-module-postgres/Makefile
+14-0www/nginx-module-postgres/files/pkg-message.in
+8-0www/nginx-module-postgres/pkg-descr
+3-0www/nginx-module-postgres/distinfo
+1-0www/Makefile
+81-05 files

FreeBSD/ports 6172a08 — www Makefile, www/nginx-module-redis2 distinfo pkg-descr

www/nginx-module-redis2: Add New Port

Sources of the redis2 module for the NGINX ports.  The module sends
commands to a Redis server and answers with the reply as it arrived, in
Redis' own protocol, speaking the protocol itself rather than through a
library.

Sponsored by:   Netzkommune GmbH
DeltaFile
+43-0www/nginx-module-redis2/Makefile
+14-0www/nginx-module-redis2/files/pkg-message.in
+8-0www/nginx-module-redis2/pkg-descr
+3-0www/nginx-module-redis2/distinfo
+1-0www/Makefile
+69-05 files

FreeBSD/ports 858da12 — www Makefile, www/nginx-module-gridfs distinfo pkg-descr

www/nginx-module-gridfs: Add New Port

Sources of the gridfs module for the NGINX ports.  The module serves
files out of MongoDB's GridFS, by name or by object id, and answers a
byte range out of the chunks it needs instead of reading the whole file.

Sponsored by:   Netzkommune GmbH
DeltaFile
+37-0www/nginx-module-gridfs/Makefile
+14-0www/nginx-module-gridfs/files/pkg-message.in
+8-0www/nginx-module-gridfs/pkg-descr
+3-0www/nginx-module-gridfs/distinfo
+1-0www/Makefile
+63-05 files

FreeBSD/ports 5f1f6b5 — www Makefile, www/nginx-module-sflow distinfo pkg-descr

www/nginx-module-sflow: Add New Port

Sources of the sflow module for the NGINX ports.  The module samples
requests and sends them to an sFlow collector as UDP datagrams, together
with counters for the server as a whole.

Sponsored by:   Netzkommune GmbH
DeltaFile
+43-0www/nginx-module-sflow/Makefile
+14-0www/nginx-module-sflow/files/pkg-message.in
+8-0www/nginx-module-sflow/pkg-descr
+3-0www/nginx-module-sflow/distinfo
+1-0www/Makefile
+69-05 files

NetBSD/pkgsrc ykzgVyj — print/cups-base distinfo, print/cups-base/patches patch-cups_dest.c

   cups: fix libcups build when dnssd option is off. From upstream.
VersionDeltaFile
1.1+15-0print/cups-base/patches/patch-cups_dest.c
1.52+2-1print/cups-base/distinfo
+17-12 files

LLVM/project 6c0c62f — llvm/test/Transforms/LoopVectorize extract-value-widen.ll struct-return.ll, llvm/test/Transforms/LoopVectorize/AArch64 struct-return-cost.ll struct-return-extractvalue.ll

[LV] Have ExtractValue match the shape of the operand. (#229927)

Previously, BuildStructVector would create a vector of a wide struct
type, where each element is widened.

This can cause issues, if a transform turns an extractvalue of a wide
call into a single-scalar (e.g. makeScalarizationDecisions), because we
currently cannot extract lane 0 from a struct of vectors.

Instead of relying on BuildStructVector, we can instead have the
ExtractValue match the shape of its operand (either widen if the operand
is wide, or replicated if the operand is scalar). If a vector value is
needed, we can directly use the existing BuildVector.

This fixes a number of crashes in the newly added tests, including
https://github.com/llvm/llvm-project/issues/229609.

Depends on https://github.com/llvm/llvm-project/pull/229925

PR: https://github.com/llvm/llvm-project/pull/229927
DeltaFile
+119-312llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
+348-0llvm/test/Transforms/LoopVectorize/AArch64/struct-return-extractvalue.ll
+254-26llvm/test/Transforms/LoopVectorize/struct-return.ll
+33-28llvm/test/Transforms/LoopVectorize/VPlan/struct-return-build-vector.ll
+51-0llvm/test/Transforms/LoopVectorize/extract-value-widen.ll
+24-24llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
+829-3908 files not shown
+878-46214 files

LLVM/project ff6a3dc — llvm/lib/Target/VE VEISelLowering.cpp, llvm/test/CodeGen/VE exception-model.ll

VE: Use i32 registers for 32-bit loads in the SjLj dispatch block

Fix verifier errors in exception test. The call site index and the
PIC jump table offset were loaded with ldl.zx, which defines an i32
register, into vregs with the i64 register class.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-4llvm/lib/Target/VE/VEISelLowering.cpp
+1-2llvm/test/CodeGen/VE/exception-model.ll
+20-62 files

LLVM/project f40ea12 — llvm/lib/Target/VE/MCTargetDesc VEMCAsmInfo.cpp, llvm/lib/TargetParser Triple.cpp

VE: Default to SjLj exception handling

The clang driver selects SjLj exceptions for VE (96d4ccf00c8f), but the
triple defaulted to no exception model. Make SjLj the default for the
triple and MCAsmInfo so llc agrees with the driver.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+20-0llvm/test/CodeGen/VE/exception-model.ll
+2-2llvm/unittests/TargetParser/TripleTest.cpp
+2-0llvm/lib/TargetParser/Triple.cpp
+1-0llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
+25-24 files

LLVM/project 496d6d3 — libc/src/__support/GPU fixedbuffer.h CMakeLists.txt, libc/src/__support/RPC CMakeLists.txt

[libc] Order GPU targets after the generated stdint.h (#231229)

Several GPU targets reach `<stdint.h>` without depending on the
generated header, so a fresh build can compile them before or while
`stdint.h` is written and fail with `unknown type name 'uint32_t'`. This
is the same race as #149993, but via headers that don't include
`<stdint.h>` directly.
 
- GPU utils: `utils.h` includes `<gpuintrin.h>`, which includes
`<stdint.h>`; depend on `libc.hdr.stdint_proxy`.
- rpc_client: `shared/rpc_util.h` includes `<stdint.h>` but is also used
outside libc, so it can't use the proxy header; declare the dependency
on the libc target instead.
- GPU time_utils: declare its existing dependency on GPU utils.
 
This also changes GPU fixedbuffer to include `hdr/stdint_proxy.h` rather
than `<stdint.h>`. fixedbuffer was added after #150303, so it was missed
by that conversion.


    [4 lines not shown]
DeltaFile
+5-0libc/src/__support/GPU/CMakeLists.txt
+1-2libc/src/__support/GPU/fixedbuffer.h
+1-0libc/src/__support/time/gpu/CMakeLists.txt
+1-0libc/src/__support/RPC/CMakeLists.txt
+8-24 files

LLVM/project 22ac549 — llvm/lib/Target/X86 X86TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/X86 div-rem-pair.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+107-0llvm/test/Transforms/SLPVectorizer/X86/divrem-scalar-pair.ll
+65-0llvm/test/Analysis/CostModel/X86/div-rem-pair.ll
+19-0llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+191-03 files

LLVM/project 9afb91f — llvm/lib/Target/AMDGPU VOP1Instructions.td SIInstrInfo.td

AMDGPU: Add vgpr32_lo16/vgpr32_hi16 OutPatFrags

Add OutPatFrags for extracting a 16-bit half of a value after copying
it to a VGPR_32, and use them for the existing open-coded instances.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+8-8llvm/lib/Target/AMDGPU/VOP3Instructions.td
+6-0llvm/lib/Target/AMDGPU/SIInstrInfo.td
+1-1llvm/lib/Target/AMDGPU/VOP1Instructions.td
+15-93 files

LLVM/project 11094f9 — llvm/docs AMDGPUUsage.rst

[AMDGPU][Doc] Add documentation about ABI occupancy

This PR introduces ABI occupancy in documentation. The actual code
implementation will be in follow-up PRs.
DeltaFile
+59-5llvm/docs/AMDGPUUsage.rst
+59-51 files

LLVM/project 7d0f852 — llvm/include/llvm/TargetParser CMakeLists.txt, llvm/lib/Target/ARM ARMSubtarget.h

ARM: Generate processor family and architecture lists in backend

ARMTargetParserDef.inc is only included by ARMSubtarget. It was
generated by the TargetParser library's tablegen step, which every
other LLVM library depends on, even when the ARM target is not
built. Generate it with the rest of the ARM backend's tablegen outputs
instead.

This removes 14% of the time in the TargetParser tablegen step, along
with a dependency on 71 ARM td files.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-12utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+10-0llvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
+0-8llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+2-2llvm/lib/Target/ARM/ARMSubtarget.h
+0-3llvm/include/llvm/TargetParser/CMakeLists.txt
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/ARM/BUILD.gn
+17-252 files not shown
+18-268 files

FreeBSD/src 84f790e — sys/dev/wg if_wg.c, sys/net if_gre.c if_ovpn.c

ip_encap: Recompute flowid for packets received over tunnel

Packets decapsulated by a tunnel interface carry the NIC's flowid
computed over the outer tunnel tuple, which is the same for every
flow a peer carries. Therefore mpath nhop selection places all
traffic on one path.

Add encap_set_flowid() to ip_encap.c, which rehashes a decapsulated
IP packet on its inner addresses.

The feature is off by default and is enabled with the per-vnet
net.route.hash_inbound sysctl.

Reviewed by:    gallatin
Differential Revision:  https://reviews.freebsd.org/D60552
DeltaFile
+52-0sys/netinet/ip_encap.c
+7-0sys/netinet/ip_encap.h
+3-0sys/net/if_ovpn.c
+3-0sys/net/if_geneve.c
+3-0sys/dev/wg/if_wg.c
+2-0sys/net/if_gre.c
+70-01 files not shown
+72-07 files

LLVM/project 43a98e1 — offload/libompaccsupport device.cpp, offload/plugins-nextgen/amdgpu/dynamic_hsa hsa_ext_amd.h

[offload] Write small unordered host-to-device transfers directly on AMDGPU
DeltaFile
+135-2offload/plugins-nextgen/amdgpu/src/rtl.cpp
+73-0offload/test/offloading/kernel_launch_environment.c
+22-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+6-3offload/plugins-nextgen/common/include/PluginInterface.h
+4-2offload/libompaccsupport/device.cpp
+3-2offload/plugins-nextgen/common/src/PluginInterface.cpp
+243-94 files not shown
+251-1310 files

LLVM/project b0c31fd — offload/include device.h, offload/libompaccsupport device.cpp

apply Alex's suggestion
DeltaFile
+44-29offload/libompaccsupport/device.cpp
+0-17offload/plugins-nextgen/common/src/PluginInterface.cpp
+8-0offload/include/device.h
+0-7offload/plugins-nextgen/common/include/PluginInterface.h
+52-534 files

LLVM/project 9524df2 — offload/libompaccsupport device.cpp, offload/plugins-nextgen/common/include PluginInterface.h

[offload] Add GenericDeviceTy::allocCtxMem for cached allocations
DeltaFile
+8-25offload/libompaccsupport/device.cpp
+17-0offload/plugins-nextgen/common/src/PluginInterface.cpp
+7-0offload/plugins-nextgen/common/include/PluginInterface.h
+32-253 files

LLVM/project cb52a52 — offload/libompaccsupport device.cpp

[offload] Cache the per-launch device allocations of libomptarget
DeltaFile
+27-12offload/libompaccsupport/device.cpp
+27-121 files

LLVM/project 31beca1 — llvm/lib/Target/VE VEISelLowering.cpp, llvm/test/CodeGen/VE exception-model.ll

VE: Use i32 registers for 32-bit loads in the SjLj dispatch block

Fix verifier errors in exception test. The call site index and the
PIC jump table offset were loaded with ldl.zx, which defines an i32
register, into vregs with the i64 register class.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-4llvm/lib/Target/VE/VEISelLowering.cpp
+1-2llvm/test/CodeGen/VE/exception-model.ll
+20-62 files

OpenZFS/src 5f68a22 — module/nvpair nvpair.c

Skip the second duplicate search when adding to an nvlist.

nvlist_add_common() removes any existing pair with the same name and
then calls nvt_add_nvpair(), which hashes the name and searches the
table for that pair again. The second search can never find anything.
Only the unpack path needs it, because it does not remove duplicates
first.

nvt_add_nvpair() now takes a flag and nvlist_add_common() skips the
search. The search also checked whether the hash table should shrink.
That check still runs on every removal.

In a perf profile of ZFS_IOC_POOL_STATS on a pool with 1200 disks the
second search was about 16% of the samples. A userland test that
builds and copies 200000 lists of 41 pairs went from about 2.42
seconds to about 2.00 seconds.

Reviewed-by: Rob Norris <rob.norris at truenas.com>
Reviewed-by: Ameer Hamza <ameer.hamza at truenas.com>

    [2 lines not shown]
DeltaFile
+6-5module/nvpair/nvpair.c
+6-51 files