LLVM/project b592673 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sleef-riscv.ll amdlibm.ll

RuntimeLibcalls: Use element alignment for vector libcall out pointers

The pointer arguments of the vector modf, sincos and sincospi functions
are linear pointers to the scalar element type (e.g. the l4 in
_ZGVnN4vl4l4_sincosf), not pointers to the vector type. Only the element
alignment is guaranteed, so stop declaring them with the ABI alignment
of the vector.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef-riscv.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+1-1llvm/lib/IR/RuntimeLibcalls.cpp
+37-375 files

LLVM/project f4b3c91 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll systemz.ll

Use unsigned argument types for ctlz/ctpop
DeltaFile
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+2-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+2-2llvm/include/llvm/IR/RuntimeLibcalls.td
+12-124 files

LLVM/project 038a942 — llvm/test/Transforms/Util/DeclareRuntimeLibcalls arm.ll systemz.ll

RuntimeLibcalls: Add signatures for more runtime functions

Add type missing signatures for assorted functions which were missing
type information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+474-474llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+305-305llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+279-279llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+276-276llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+198-198llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+192-192llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+1,724-1,72411 files not shown
+2,947-2,93317 files

LLVM/project 9fad02d — llvm/include/llvm/IR RuntimeLibcallsImpl.td

RuntimeLibcalls: Describe vector FuncArgTypes by element type and count

Define the vector libcall argument types from an element type and
count. Derive the matching integer and mask vector types from them
instead of spelling each one out.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-12llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+18-121 files

LLVM/project f40a384 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls amdlibm.ll

Use vector alignment for AMDLIBM sincos out pointers
DeltaFile
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+21-72 files

LLVM/project ba291ef — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use the correct target C long width for Long

Long and ULong were mapped to the int width, which is wrong on LP64
targets (e.g. scalbln was declared taking i32 on x86_64 linux) and on
16-bit targets where long is 32 bits.

Also fix strtoul, strtoull, and the unsigned long operator new/delete
variants to use the unsigned types.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-21llvm/include/llvm/IR/RuntimeLibcalls.td
+14-7llvm/lib/IR/RuntimeLibcalls.cpp
+9-9llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+8-8llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+64-577 files not shown
+83-7613 files

LLVM/project 0192e00 — llvm/include/llvm/IR RuntimeLibcalls.td

Use UInt8 for the __hot_cold_t operator new argument

tcmalloc declares __hot_cold_t as enum class __hot_cold_t : uint8_t
DeltaFile
+8-8llvm/include/llvm/IR/RuntimeLibcalls.td
+8-81 files

FreeBSD/ports d5ea2a4 — x11-wm/bvwm pkg-plist Makefile

x11-wm/bvwm: Update to 1.1.5.b.8

ChangeLog: https://github.com/FrauBSD/bvwm/blob/1.1.5-bvwm.8/BCHANGELOG.md
DeltaFile
+3-3x11-wm/bvwm/distinfo
+1-1x11-wm/bvwm/Makefile
+1-0x11-wm/bvwm/pkg-plist
+5-43 files

OpenZFS/src 0cdf531 — scripts zloop.sh

zloop: Add -S to seed the randomized ztest arguments

zloop picks each iteration's pool layout and ztest options with an
unseeded bash RANDOM, and ztest draws its own seed from /dev/urandom.
To rerun a crashed ztest, a developer must find the command line in
ztest.history and the seed in ztest.out and combine them by hand, and
a zloop run cannot be repeated.

Add a -S option that seeds RANDOM. Every randomized argument and the
-J seed handed to each ztest run come from that one value, so rerunning
zloop with the same -S repeats the whole loop. zloop now logs the -J
seed as part of each ztest command line in ztest.history, so a
developer can copy one line to rerun a crashed ztest. The default seed
is random and is logged at the start of the run.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Daniel Perry <dtperry at amazon.com>
Closes #19637
DeltaFile
+19-2scripts/zloop.sh
+19-21 files

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

[clang][OpenMP] Fix crash on `lastprivate` of a data member in a member function template (#237575)

Fixes #144302

`lastprivate(i)` on a data member inside a member function template of a
non-template class crashed in `EndOpenMPDSABlock`. In a dependent
context the clause keeps the member as the `this->i` expression, but the
finalizer cast every non-dependent item to `DeclRefExpr`.

Skip the member there and leave its private copy to be built when the
template is instantiated, where the member gets captured as usual.

LLM Aided.
DeltaFile
+61-0clang/test/OpenMP/sections_lastprivate_messages.cpp
+42-0clang/test/OpenMP/GH144302.cpp
+20-0clang/test/OpenMP/sections_ast_print.cpp
+7-0clang/lib/Sema/SemaOpenMP.cpp
+2-0clang/docs/ReleaseNotes.md
+132-05 files

LLVM/project 5cf5b4d — llvm/include/llvm/MC MCDwarf.h, llvm/lib/MC MCDwarf.cpp MCStreamer.cpp

[MC] Reject .cfi_restore_state without a matching .cfi_remember_state (#237679)

... similar to GNU Assembler.
DeltaFile
+13-0llvm/test/MC/ELF/cfi-remember.s
+6-1llvm/lib/MC/MCStreamer.cpp
+1-2llvm/lib/MC/MCDwarf.cpp
+1-0llvm/include/llvm/MC/MCDwarf.h
+21-34 files

FreeBSD/ports 5103c9b — x11/bosd Makefile distinfo

x11/bosd: Update to 10.8

ChangeLog: https://github.com/FrauBSD/bosd/blob/10.8/CHANGELOG.md
DeltaFile
+12-0x11/bosd/pkg-plist
+3-3x11/bosd/distinfo
+1-1x11/bosd/Makefile
+16-43 files

FreeBSD/src 63302e9 — sys/fs/nfsclient nfs_clrpcops.c

nfs_clrpcops.c: Fix an mbuf leak introduced by fec497b89b1a

The calls to rpc_free_rdma_reduction() were removed, but I forgot
that newnfs_request() removes the reduction mbuf from the list
upon success, so it has to be free'd separately.
This patch does that.

The patch also disables reduction after the first loop interation.
This is necessary until nfsm_build_rdma_reduction() is patched
to handle an offset within the page array.

Reported by:    markj
MFC after:      1 month
Fixes:  884ee8d6c9b4 ("nfscl: Add some glue for client side NFS over RDMA")
DeltaFile
+38-19sys/fs/nfsclient/nfs_clrpcops.c
+38-191 files

LLVM/project 8e93deb — llvm/test/CodeGen/RISCV/GlobalISel rv64xtheadbb.ll rv32xtheadbb.ll, llvm/test/CodeGen/RISCV/GlobalISel/legalizer legalize-ctlz-rv64.mir legalize-ctlz-rv32.mir

[RISCV][GISel] Make G_CTLZ legal with XTHeadBb (#237510)

XTHeadBb provides `th.ff1` and matches `G_CTLZ` semantics. The existing
pattern `PatGpr<ctlz, TH_FF1>` is already imported by GlobalISel, but
the legalizer always lowered `G_CTLZ` when Zbb was not available, so
`th.ff1` was never selected.

Part of https://github.com/llvm/llvm-project/issues/237492.

I plan to address the whole problem with 3 patches to control patch size
and ease review process:

1. This commit
2. Use the zero-poison semantics of `G_CTLZ_ZERO_POISON` for narrower
widths.
3. Widen narrow `G_CTTZ` to XLEN before lowering.
DeltaFile
+244-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
+216-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
+104-0llvm/test/CodeGen/RISCV/GlobalISel/rv32xtheadbb.ll
+102-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
+102-0llvm/test/CodeGen/RISCV/GlobalISel/rv64xtheadbb.ll
+96-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
+864-01 files not shown
+878-37 files

LLVM/project 780947f — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/AArch64 transform-narrow-interleave-to-widen-memory.ll

[VPlan] Use the interleave group's alignment for narrowed accesses. (#237674)

Use the interleave group's alignment instead of the one from the insert
position, which may not be the alignment for the member at index 0.

This fixes a mis-compile where the wide load had an incorrect alignment.
DeltaFile
+196-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
+6-5llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+202-52 files

FreeBSD/ports ce30282 — sysutils/onefetch Makefile Makefile.crates

sysutils/onefetch: Update to 3.2.0

Changelog: https://github.com/o2sh/onefetch/blob/3.2.0/CHANGELOG.md

Reported by:    GitHub (watch releases)
DeltaFile
+107-175sysutils/onefetch/distinfo
+52-86sysutils/onefetch/Makefile.crates
+1-1sysutils/onefetch/Makefile
+160-2623 files

FreeBSD/src 1a4c2ee — sys/fs/cd9660 iso_rrip.h cd9660_vfsops.c, tests/sys/fs/cd9660 Makefile cd9660_test.sh

cd9660: Fix dereferencing invalid RR outlen ptr

`ISO_RRIP_ANALYZE` is constructed in four places. Two of the
initializers set the `outlen` field while the other two,
`cd9660_rrip_analyze` and `cd9660_rrip_offset`, leave it uninitialized.

The uninitialized paths can dereference an invalid pointer on error
paths which causes a kernel panic.

To fix, I zero out `ISO_RRIP_ANALYZE` in all four places where it's
initialized and check that `outlen` is non-null on the error path
in `cd9660_rrip_loop`.

While testing the above, I encountered another kernel panic due to
mounting continuing after the error branch. Evidently, the ISO continued
mounting through the normal ISO 9660 path then triggered a panic down
the line due to a very broken file system from the ISO. To fix that, I
propagate the error from the RR path then fail in the mount path.


    [11 lines not shown]
DeltaFile
+226-0tests/sys/fs/cd9660/rrip_corrupt.c
+72-0tests/sys/fs/cd9660/cd9660_test.sh
+17-6sys/fs/cd9660/cd9660_rrip.c
+10-0tests/sys/fs/cd9660/Makefile
+6-3sys/fs/cd9660/cd9660_vfsops.c
+1-1sys/fs/cd9660/iso_rrip.h
+332-102 files not shown
+335-108 files

LLVM/project ac99979 — llvm/include/llvm/IR RuntimeLibcallsImpl.td

RuntimeLibcalls: Describe vector FuncArgTypes by element type and count

Define the vector libcall argument types from an element type and
count. Derive the matching integer and mask vector types from them
instead of spelling each one out.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-12llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+18-121 files

LLVM/project 11d32ca — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls amdlibm.ll

Use vector alignment for AMDLIBM sincos out pointers
DeltaFile
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+21-72 files

LLVM/project 7cc0c6f — llvm/test/Transforms/Util/DeclareRuntimeLibcalls arm.ll systemz.ll

RuntimeLibcalls: Add signatures for more runtime functions

Add type missing signatures for assorted functions which were missing
type information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+474-474llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+305-305llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+279-279llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+276-276llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+198-198llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+192-192llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+1,724-1,72411 files not shown
+2,947-2,93317 files

LLVM/project dc7a4a6 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sleef-riscv.ll amdlibm.ll

RuntimeLibcalls: Use element alignment for vector libcall out pointers

The pointer arguments of the vector modf, sincos and sincospi functions
are linear pointers to the scalar element type (e.g. the l4 in
_ZGVnN4vl4l4_sincosf), not pointers to the vector type. Only the element
alignment is guaranteed, so stop declaring them with the ABI alignment
of the vector.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef-riscv.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+1-1llvm/lib/IR/RuntimeLibcalls.cpp
+37-375 files

LLVM/project 816ffc7 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll systemz.ll

Use unsigned argument types for ctlz/ctpop
DeltaFile
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+2-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+2-2llvm/include/llvm/IR/RuntimeLibcalls.td
+12-124 files

LLVM/project 663a285 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use the correct target C long width for Long

Long and ULong were mapped to the int width, which is wrong on LP64
targets (e.g. scalbln was declared taking i32 on x86_64 linux) and on
16-bit targets where long is 32 bits.

Also fix strtoul, strtoull, and the unsigned long operator new/delete
variants to use the unsigned types.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-21llvm/include/llvm/IR/RuntimeLibcalls.td
+14-7llvm/lib/IR/RuntimeLibcalls.cpp
+9-9llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+8-8llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+64-577 files not shown
+83-7613 files

OpenZFS/src 23cef43 — cmd/zfs zfs_main.c, man/man8 zfs-bookmark.8

zfs: reject 'bookmark -r' to a dataset other than the source's

"zfs bookmark -r" only used the part of the new bookmark name after the
'#' and always started recursion from the source snapshot's dataset, so
the dataset part of the bookmark name was silently ignored:

    zfs create tp/a; zfs create tp/b; zfs snapshot tp/a at s
    zfs bookmark -r tp/a at s tp/b#bk

succeeded and created tp/a#bk (and the same on every descendant of
tp/a that has @s), while tp/b got nothing.  Without -r the same command
is refused because the source is not an ancestor of tp/b.

With -r the bookmarks are always created on the source snapshot's
dataset and its descendants, so require the new bookmark to name that
dataset and fail with a clear message otherwise, before creating
anything.  The short forms ("zfs bookmark -r fs at snap '#bk'" and
"zfs bookmark -r @snap fs#bk") are unaffected since their dataset is
taken from the other argument.

    [8 lines not shown]
DeltaFile
+19-0cmd/zfs/zfs_main.c
+14-1man/man8/zfs-bookmark.8
+33-12 files

LLVM/project 84e4cd6 — llvm/include/llvm/Analysis TargetLibraryInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Use the target bool extension rule
DeltaFile
+30-30llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-10llvm/include/llvm/Analysis/TargetLibraryInfo.h
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm64ec.ll
+7-0llvm/lib/Analysis/TargetLibraryInfo.cpp
+5-0llvm/include/llvm/IR/RuntimeLibcalls.h
+66-476 files

OpenZFS/src f41dc6e — tests/zfs-tests/tests/functional/cli_root/zfs_bookmark zfs_bookmark_recursive.ksh

ZTS: test 'zfs bookmark -r' to another dataset

Extend zfs_bookmark_recursive to check that 'zfs bookmark -r' refuses
a new bookmark on a dataset other than the source snapshot's and
creates no bookmarks at all, and that the short forms ('#bookmark' and
'@snapshot') still work with -r.

This currently fails: "zfs bookmark -r tp/a at s tp/b#bk" succeeds and
creates tp/a#bk and the same bookmark on tp/a's descendants, ignoring
the dataset that was named.  The fix follows in the next commit.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Closes #19298
DeltaFile
+24-0tests/zfs-tests/tests/functional/cli_root/zfs_bookmark/zfs_bookmark_recursive.ksh
+24-01 files

LLVM/project 65a985f — llvm/include/llvm/IR RuntimeLibcalls.td

Use ULLong for MSVC new/delete and strtoull
DeltaFile
+7-7llvm/include/llvm/IR/RuntimeLibcalls.td
+7-71 files

LLVM/project cbf8fb3 — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll riscv.ll

RuntimeLibcalls: Add signext/zeroext attributes to libcall signatures

Try to match TargetLibraryInfo's behavior. Integer types narrower than
int are extended according to their signedness.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+460-460llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+292-292llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+235-235llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+221-221llvm/test/Transforms/Util/DeclareRuntimeLibcalls/mips.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+160-160llvm/test/Transforms/Util/DeclareRuntimeLibcalls/riscv.ll
+1,528-1,52812 files not shown
+2,296-2,23718 files

LLVM/project eeac848 — llvm/lib/Target/Sparc SparcCodeGenPassBuilder.cpp SparcPassRegistry.def, llvm/test/CodeGen/SPARC newpm-pipeline.ll

[Sparc] Port AsmPrinter to NewPM

Standard NewPM pass porting.

Reviewers: doac, koachan, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/237669
DeltaFile
+39-0llvm/lib/Target/Sparc/SparcAsmPrinter.h
+32-0llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
+8-0llvm/lib/Target/Sparc/SparcPassRegistry.def
+4-3llvm/lib/Target/Sparc/SparcCodeGenPassBuilder.cpp
+3-0llvm/test/CodeGen/SPARC/newpm-pipeline.ll
+86-35 files

LLVM/project aa872c0 — llvm/lib/Target/Sparc SparcCodeGenPassBuilder.cpp SparcTargetMachine.cpp, llvm/test/CodeGen/SPARC newpm-pipeline.ll

[Sparc] Port ErrataWorkaround to NewPM

Standard NewPM pass porting.

Reviewers: koachan, doac, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/237660
DeltaFile
+59-35llvm/lib/Target/Sparc/LeonPasses.cpp
+8-20llvm/lib/Target/Sparc/LeonPasses.h
+8-1llvm/lib/Target/Sparc/Sparc.h
+2-2llvm/lib/Target/Sparc/SparcTargetMachine.cpp
+1-1llvm/lib/Target/Sparc/SparcCodeGenPassBuilder.cpp
+1-0llvm/test/CodeGen/SPARC/newpm-pipeline.ll
+79-591 files not shown
+80-597 files