LLVM/project 8b9d8dflibcxx/include regex, libcxx/include/__cxx03 regex

[libc++] Correctly implement __transform_primary on all platforms (#186130)
DeltaFile
+32-0libcxx/include/regex
+32-0libcxx/include/__cxx03/regex
+29-2libcxx/test/std/re/re.traits/transform_primary.pass.cpp
+93-23 files

LLVM/project 2f568f4llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU scmp-ucmp.ll

AMDGPU/GlobalISel: Legalize G_SCMP and G_UCMP
DeltaFile
+606-0llvm/test/CodeGen/AMDGPU/scmp-ucmp.ll
+2-0llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+608-02 files

LLVM/project 15fe4efllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 shuffle-zero-interleave-to-shl.ll

[AArch64] Fold zero-interleave shuffle into vector shift left (#210793)

A shuffle mask that interleaves zeros between every other byte element
is equivalent to a vector shift left on a wider element type. This
avoids generating a `tbl` instruction with a constant mask loaded from
memory, replacing it with a single `shl` instruction.

Before:
```asm
adrp  x8, .LCPI0_0
ldr   q1, [x8, :lo12:.LCPI0_0]
tbl   v0.16b, { v0.16b }, v1.16b
```

After:
```asm
shl   v0.8h, v0.8h, #8
```


    [4 lines not shown]
DeltaFile
+40-26llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+56-0llvm/test/CodeGen/AArch64/shuffle-zero-interleave-to-shl.ll
+96-262 files

FreeBSD/src 84ffc29. configure, testdata dns64_dnssec.rpl sub_ds_deepcopy.rpl

import unbound 1.26.0
DeltaFile
+3,512-3,494util/configlexer.c
+2,874-1,942configure
+2,148-2,099util/configparser.c
+1,202-0testdata/edns_nsid_repeat.rpl
+676-0testdata/sub_ds_deepcopy.rpl
+609-0testdata/dns64_dnssec.rpl
+11,021-7,535190 files not shown
+24,472-8,882196 files

LLVM/project b631e0clldb/test/API/macosx/expedited-stack-memory main.c TestExpeditedStackMemory.py, lldb/tools/debugserver/source JSONGenerator.h RNBRemote.cpp

[lldb][debugserver] Expedite the stopped frame's stack memory in jThreadsInfo (#212706)

Add `ReadFrameZeroStackMemory`, which expedites the innermost frame's stack
memory so a variables view on a stop is served from lldb's memory cache.  When
frame 0's `$fp` looks usable, two windows are expedited:

  * `[$fp + 2*ptr_size, $fp + 2*ptr_size + k_expedite_stack_arg_size)` for stack-passed
     parameters, starting above the saved `{fp, lr}` pair the backchain already covers.
  * `[$fp - below, $fp)`, `below = min($fp - $sp, k_expedite_stack_window - k_expedite_stack_arg_size)`,
     for locals and spilled register arguments.  A small frame gets all of `[$sp, $fp)`; a large one keeps the part nearest `$fp`, so the cost stays bounded.

If `$fp` fails validation (frameless leaf, or `$fp` used as a scratch GPR),
a single `[$sp, $sp + k_expedite_stack_window)` window is expedited instead.

Each window is a separate chunk, because lldb's L1 cache only serves reads
fully contained in one expedited chunk.  Only the thread that stopped gets
these windows, so the stop reply does not grow with thread count.

`GetJSONThreadsInfo` now builds the `"memory"` array from both sources and
emits it whenever either produced an entry.  Add `JSONGenerator::Array::empty`
for that check.
DeltaFile
+106-3lldb/tools/debugserver/source/RNBRemote.cpp
+45-29lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
+17-4lldb/test/API/macosx/expedited-stack-memory/main.c
+2-0lldb/tools/debugserver/source/JSONGenerator.h
+170-364 files

FreeBSD/src ddd850alib/libifconfig libifconfig.c, sys/net rtsock.c

sys/socket.h: Fix AF_MAX

AF_MAX was always intended to be one more than the greatest allocated
value.  Jeff broke this in 2013.  Unfortunately, a bunch of people then
decided to adapt to the mistake instead of correcting it.

Fixes:          863c7e45628d (" - Reserve a special AF for SDP.  The one we were incorrectly using before    was taken by another AF.")
MFC after:      3 days
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    kevans, glebius
Differential Revision:  https://reviews.freebsd.org/D58597
DeltaFile
+3-3sys/netlink/route/rt.c
+2-2sys/net/rtsock.c
+2-2sys/net/route/route_helpers.c
+2-2lib/libifconfig/libifconfig.c
+3-1sys/sys/socket.h
+1-1sys/net/route/route_ddb.c
+13-113 files not shown
+16-149 files

FreeBSD/src aa8ffe6sys/dev/e1000 igb_txrx.c em_txrx.c

e1000: report UDP RSS hash type on igb/em

{em,igb}_determine_rsstype() mapped only the TCP and bare-IP RSS descriptor
types; the UDP types returned M_HASHTYPE_NONE.
The hardware does hash UDP, but with a NONE hashtype iflib skips its
flowid-based TX queue spread, so all forwarded UDP egressed on a single queue
and serialized transmit on one core.

Add the three UDP cases (IPV4_UDP, IPV6_UDP, IPV6_UDP_EX) so egress spreads
across all TX queues.

Reviewed by:    kbowling, gallatin
Approved by:    kbowling
MFC after:      1 week
MFC to:         stable/14, stable/15
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D58513

(cherry picked from commit 285c749f575ed7f9e60555037f23ac673084c62a)
DeltaFile
+6-0sys/dev/e1000/igb_txrx.c
+6-0sys/dev/e1000/em_txrx.c
+12-02 files

LLVM/project 231fd4clldb/source/Plugins/Process/FreeBSD NativeRegisterContextFreeBSD_arm64.cpp, lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.cpp

[lldb] Make RegisterFlagsDetector into RegisterTypesDetector

In future it may be generating things other than flags. Functionality
is the same, but the interface changes to use RegisterType.
DeltaFile
+348-0lldb/source/Plugins/Process/Utility/RegisterTypeDetector_arm64.cpp
+0-334lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
+0-101lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
+99-0lldb/source/Plugins/Process/Utility/RegisterTypeDetector_arm64.h
+9-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+7-7lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+463-4513 files not shown
+472-4609 files

FreeBSD/src db2dc24sys/dev/hwpmc hwpmc_amd.c

hwpmc: fix event allocation on pre-Zen AMD CPUs

amd_allocate_pmc() chose the pmu-events code path whenever pmc_cpuid was
non-empty, and rejected any allocation lacking PMC_F_EV_PMU.
But pmc_cpuid is set for every AMD CPU, while the pmu-events tables only cover
Zen and later.
On older families (K8, Bobcat, Jaguar/16h, Bulldozer) libpmc finds no
pmu-events entry and falls back to the legacy path, which never sets
PMC_F_EV_PMU.

Reviewed by:    mhorne
Approved by:    mhorne
MFC after:      1 week
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D58468

(cherry picked from commit 6c4d9b9af1a3b247bf82a4228c835d106f535613)
DeltaFile
+2-4sys/dev/hwpmc/hwpmc_amd.c
+2-41 files

FreeBSD/ports 70ee428devel/sdl3 Makefile distinfo

devel/sdl3: update 3.4.12 → 3.4.14
DeltaFile
+3-3devel/sdl3/distinfo
+1-1devel/sdl3/Makefile
+4-42 files

OpenBSD/src qsFsEWrusr.bin/sndiod dev.h opt.h

   sndiod: Replace {OPT,APP,PORT,MIDITHRU}_NAMEMAX by CTL_NAMEMAX

   All are defined to the same value, so no object change.
VersionDeltaFile
1.24+5-5usr.bin/sndiod/opt.c
1.14+3-5usr.bin/sndiod/opt.h
1.6+7-1usr.bin/sndiod/defs.h
1.60+1-3usr.bin/sndiod/dev.h
+16-144 files

LLVM/project b4deecdclang-tools-extra/docs ReleaseNotes.rst, clang-tools-extra/test/clang-tidy check_clang_tidy.py

[clang-tidy] Add 'or-earlier' suffix to check_clang_tidy.py (#213834)
DeltaFile
+38-20clang-tools-extra/test/clang-tidy/check_clang_tidy.py
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+42-202 files

OpenBSD/src 8XpE1G5usr.bin/sndiod opt.c opt.h

   sndiod: Define OPT_NAMEMAX to the string size, \0 included

   This is less error prone. No object change.
VersionDeltaFile
1.13+3-3usr.bin/sndiod/opt.h
1.23+2-2usr.bin/sndiod/opt.c
+5-52 files

FreeBSD/ports dbfe39cwww Makefile, www/nextcloud-keeweb distinfo pkg-descr

www/nextcloud-keeweb: new port

Open Keepass stores inside Nextcloud with Keeweb just by clicking on an
*.kdbx file in your Nextcloud.
DeltaFile
+16-0www/nextcloud-keeweb/Makefile
+7-0www/nextcloud-keeweb/pkg-descr
+3-0www/nextcloud-keeweb/distinfo
+1-0www/Makefile
+27-04 files

FreeBSD/src 410403dsys/dev/e1000 igb_txrx.c em_txrx.c

e1000: report UDP RSS hash type on igb/em

{em,igb}_determine_rsstype() mapped only the TCP and bare-IP RSS descriptor
types; the UDP types returned M_HASHTYPE_NONE.
The hardware does hash UDP, but with a NONE hashtype iflib skips its
flowid-based TX queue spread, so all forwarded UDP egressed on a single queue
and serialized transmit on one core.

Add the three UDP cases (IPV4_UDP, IPV6_UDP, IPV6_UDP_EX) so egress spreads
across all TX queues.

Reviewed by:    kbowling, gallatin
Approved by:    kbowling
MFC after:      1 week
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D58513

(cherry picked from commit 285c749f575ed7f9e60555037f23ac673084c62a)
DeltaFile
+6-0sys/dev/e1000/igb_txrx.c
+6-0sys/dev/e1000/em_txrx.c
+12-02 files

LLVM/project 586e659llvm/test/CodeGen/X86 vector-reduce-or-bool.ll vector-reduce-and-bool.ll

[X86] vector-reduce-*-bool.ll - update IR to match middleend (#213876)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.*.vXi1 calls

We were also failing to tag the i1 return values as zeroext

Shows a couple of hidden issues - poor handling of comparison results
from sub-128-bit vectors and handling of v32i1/v64i1 MOVMSK patterns on
pre-AVX2 targets
DeltaFile
+673-482llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
+381-270llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
+145-114llvm/test/CodeGen/X86/vector-reduce-or-bool.ll
+1,199-8663 files

FreeBSD/src 38af24esys/dev/hwpmc hwpmc_amd.c

hwpmc: fix event allocation on pre-Zen AMD CPUs

amd_allocate_pmc() chose the pmu-events code path whenever pmc_cpuid was
non-empty, and rejected any allocation lacking PMC_F_EV_PMU.
But pmc_cpuid is set for every AMD CPU, while the pmu-events tables only cover
Zen and later.
On older families (K8, Bobcat, Jaguar/16h, Bulldozer) libpmc finds no
pmu-events entry and falls back to the legacy path, which never sets
PMC_F_EV_PMU.

Reviewed by:    mhorne
Approved by:    mhorne
MFC after:      1 week
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D58468

(cherry picked from commit 6c4d9b9af1a3b247bf82a4228c835d106f535613)
DeltaFile
+2-4sys/dev/hwpmc/hwpmc_amd.c
+2-41 files

LLVM/project 9636cacllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Process simplifyRecipes in a worklist

For now just push the new recipe onto the worklist, not its users.
This uses a post order traversal so we maintain the same simplification order as before.

I've gone through and checked every simplification we do is a canonicalisation that converges, and I checked on llvm-test-suite + SPEC CPU 2017 in various configurations that we don't hit any cycles.
DeltaFile
+22-14llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+22-141 files

LLVM/project 23c4d2alldb/include/lldb/Utility RegisterType.h RegisterTypeFlags.h, lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.h ProcessGDBRemote.cpp

[lldb] Store all XML register types in a single string map

We are assuming that their ID's are unique, so there's no need to keep
separate maps. We can do basic type checking by checking the kind of
the type pointed to.

A few more methods were added to the base RegisterType. GetSize()
returns 0 for enums because enums don't have a size until they are
used by a register. This is not ideal but it works for now.
DeltaFile
+64-70lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+7-8lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+11-3lldb/include/lldb/Utility/RegisterTypeFlags.h
+6-0lldb/include/lldb/Utility/RegisterType.h
+2-2lldb/source/Utility/RegisterTypeFlags.cpp
+90-835 files

LLVM/project 4b0b8cbllvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize runtime-check-small-bounded-ranges.ll debugloc.ll

[LV] Add vplan folds for urem(X, PowerOf2) -> and(X, PowerOf2 - 1) (#212198)

In this PR I've added support for the vplan fold:

  urem(X, Y) -> and(X, Y - 1)

when Y is a power of 2. This should reduce the cost of the urem and
ensure the vplan is accurately costed. Such a change would normally
affect over 300 test files due to this being a common pattern in the
vector preheader. For now, I've limited the scope to only simplifying
occurences that are not in the vector preheader. In a follow-on PR I
will extend this to add support for

  sub(X, urem(X, Y)) -> and(X, -Y)

as well permitting folds in the preheader.
DeltaFile
+37-37llvm/test/Transforms/LoopVectorize/bounded-load-predicated.ll
+67-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-fold-dbg.ll
+0-46llvm/test/Transforms/LoopVectorize/debugloc.ll
+15-15llvm/test/Transforms/LoopVectorize/AArch64/bounded-load.ll
+11-11llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
+9-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+139-1096 files not shown
+152-12212 files

LLVM/project 293d7c5llvm/include/llvm/IR IntrinsicsAArch64.td

  [AArch64][SME]Refine memory effects for SME load/store intrinsics. (#205525)

Split SME load/store intrinsic definitions so loads and stores model
ArgMem, ZA, and ZT0 effects separately. Also mark ZA enable/disable as
     side-effecting intrinsics with no memory access.
DeltaFile
+41-32llvm/include/llvm/IR/IntrinsicsAArch64.td
+41-321 files

LLVM/project 24d2a96llvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-unmerge-values.mir legalize-extract-vector-elt.mir

GlobalISel: Fix floating point unmerge lowering (#213703)

Bitcast to integer and use integer type for bit twiddling.
DeltaFile
+332-4llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
+126-188llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
+5-4llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
+5-1llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+468-1974 files

LLVM/project a44620dlibcxxabi .clang-tidy, libcxxabi/src/demangle ItaniumDemangle.h

[libc++abi][NFC] Enable modernize-loop-convert clang-tidy check (#213250)
DeltaFile
+2-2llvm/include/llvm/Demangle/ItaniumDemangle.h
+2-2libcxxabi/src/demangle/ItaniumDemangle.h
+1-1libcxxabi/.clang-tidy
+5-53 files

LLVM/project 62ec1d0libcxxabi .clang-tidy, libcxxabi/src private_typeinfo.h

[libc++abi][NFC] Enable modernize-use-override clang-tidy check (#213253)
DeltaFile
+35-52libcxxabi/src/private_typeinfo.h
+1-1libcxxabi/.clang-tidy
+36-532 files

LLVM/project dd61505lldb/include/lldb/Core DumpRegisterInfo.h, lldb/source/Core DumpRegisterInfo.cpp DumpRegisterValue.cpp

[lldb] Convert uses of RegisterTypeFlags into RegisterType

So we are using the generic interface that will work with
all future RegisterType derived classes.

Right now we'll only be asked to print RegisterTypeFlags, so
there's a few dyn_cast to that. Later we will switch on the
kind, and support rendering more types.
DeltaFile
+16-12lldb/source/Core/DumpRegisterValue.cpp
+9-3lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
+6-2lldb/unittests/Core/DumpRegisterInfoTest.cpp
+3-2lldb/source/Target/Target.cpp
+3-2lldb/source/Core/DumpRegisterInfo.cpp
+2-2lldb/include/lldb/Core/DumpRegisterInfo.h
+39-237 files not shown
+46-2913 files

LLVM/project d858548lldb/source/Plugins/RegisterTypeBuilder RegisterTypeBuilderClang.cpp

rename in comments
DeltaFile
+2-2lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
+2-21 files

LLVM/project 77cc702llvm/include/llvm/CodeGen/GlobalISel LegalizationArtifactCombiner.h, llvm/test/CodeGen/AMDGPU/GlobalISel extractelement.ll fshr.ll

GlobalISel: Add type size guards in tryCombineMergeLike (#213702)

Bug in LegalizationArtifactCombiner when:
DstSize < UnmergeSrcSize case can create unmerge with one element.
DstSize > UnmergeSrcSize case can end up attempting to create merge
with one source element and hits assert(TmpVec.size() > 1).
DeltaFile
+222-6llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
+55-23llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+55-23llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+35-4llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
+8-3llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
+375-595 files

LLVM/project ec6de6dllvm/include/llvm/CodeGen/GlobalISel LegalizationArtifactCombiner.h, llvm/test/CodeGen/AMDGPU/GlobalISel extractelement.ll fshr.ll

GlobalISel: Add type size guards in tryCombineMergeLike

Bug in LegalizationArtifactCombiner when:
DstSize < UnmergeSrcSize case can create unmerge with one element.
DstSize > UnmergeSrcSize case can end up attempting to create merge
with one source element and hits assert(TmpVec.size() > 1).
DeltaFile
+222-6llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
+55-23llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+55-23llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+35-4llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
+8-3llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
+375-595 files

LLVM/project 7e37653llvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-unmerge-values.mir legalize-extract-vector-elt.mir

GlobalISel: Fix floating point unmerge lowering

Bitcast to integer and use integer type for bit twiddling.
DeltaFile
+332-4llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
+126-188llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
+5-4llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
+5-1llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+468-1974 files

LLVM/project 27e6d83llvm/test/CodeGen/AMDGPU/GlobalISel legalize-unmerge-values.mir legalize-extract-vector-elt.mir

AMDGPU/GlobalISel: Precommit tests for upcoming bug fix (#213701)

Here we have:
artifact combiner creating one element unmerge and
unmerge lowering of FP source using FP type for bit twiddling.
DeltaFile
+23-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
+21-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
+44-02 files