LLVM/project 27cf3e0 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt remap_file_pages.h, libc/src/sys/mman/linux CMakeLists.txt remap_file_pages.cpp

[libc] Use a syscall wrapper for remap_file_pages

This PR move remap_file_pages behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+41-0libc/src/__support/OSUtil/linux/syscall_wrappers/remap_file_pages.h
+11-16libc/src/sys/mman/linux/remap_file_pages.cpp
+17-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-3libc/src/sys/mman/linux/CMakeLists.txt
+87-215 files

LLVM/project 306b3e1 — libc/src/sys/mman/linux CMakeLists.txt posix_madvise.cpp, utils/bazel/llvm-project-overlay/libc BUILD.bazel

[libc] Use a syscall wrapper for posix_madvise

This PR move posix_madvise behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+9-7libc/src/sys/mman/linux/posix_madvise.cpp
+3-2libc/src/sys/mman/linux/CMakeLists.txt
+1-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+13-103 files

LLVM/project 319bd32 — llvm/lib/Analysis BlockFrequencyInfo.cpp

[BFI] Scale block frequencies with native 128-bit integers (NFC) (#239953)

Update setBlockFreqAndScale to use native 128 bit integers instead of
APInt if available, as this improves compile-time:

stage1-O3: -0.7%
stage1-ReleaseThinLTO: -0.08%
stage1-ReleaseLTO-g: -0.06%
stage1-aarch64-O3: -0.07%
stage2-O3: -0.07%
stage2-clang: -0.14%


https://llvm-compile-time-tracker.com/compare.php?from=f82380b4c3ff92a6293f03f7c02e40249ba10e13&to=b885f69205b43f51764127d753eaed4fd91a12e8&stat=instructions:u

Assisted-by: Opus 5.5

PR: https://github.com/llvm/llvm-project/pull/239953
DeltaFile
+20-13llvm/lib/Analysis/BlockFrequencyInfo.cpp
+20-131 files

LLVM/project aa4eebd — llvm/test/Transforms/LoopVectorize runtime-checks-hoist.ll

[LV] Add runtime check tests with loop invariant operand sums. (NFC) (#240067)

Add tests for nested loops whose runtime check bounds combine operands
invariant in the outer loop with variant ones.
DeltaFile
+317-0llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
+317-01 files

LLVM/project d0919a3 — llvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp

[VPlan] Factor out VPSCEVExpander::canExpandInIR (NFC). (#240063)

Split off the check for expressions that are expanded in IR and hoisted
out of HoistOutOf, to reuse it in follow-ups.
DeltaFile
+6-2llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+3-0llvm/lib/Transforms/Vectorize/VPlanUtils.h
+9-22 files

LLVM/project db43068 — llvm/include/llvm/Transforms/Vectorize LoopVectorizationLegality.h LoopVectorize.h, llvm/lib/Transforms/Vectorize VPlan.h LoopVectorizationLegality.cpp

[LV] Remove InnerLoopVectorizer (NFC) (#240055)

All that is left of InnerLoopVectorizer is a bundle of state passed to
executePlan, of which only the assumption cache, a fresh IRBuilder and
whether runtime checks were generated are used, plus fixVectorizedLoop,
which runs legacyCSE on the vector loop header.

Create the IRBuilder in executePlan, take the assumption cache from
Legal, pass whether there are runtime checks as a bool and run legacyCSE
directly. Also drop executePlan's DominatorTree argument, which is the
same as the planner's DT member, and update comments that still refer to
InnerLoopVectorizer.

PR: https://github.com/llvm/llvm-project/pull/240055
DeltaFile
+16-105llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-3llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+3-2llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
+1-3llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
+1-2llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+0-1llvm/lib/Transforms/Vectorize/VPlan.h
+24-1166 files

LLVM/project 09b8388 — llvm/lib/Support KnownFPClass.cpp

[KnownFPClass][NFC] Move fma logic out of fadd_impl, and document rounding mode assumption made by fadd/fsub (#240054)

I have plans to improve deductions made by `fadd`/`fsub` and `fma`.
However, some of these deductions are only valid for `fadd`/`fsub`, so I
have moved the `fma` logic outside of `fadd_impl` and into its own
`fma_impl` function. This allows us to make improvements to `fadd/fsub`
independently of `fma`, and it also makes it easier to audit
improvements to `fma`.

I also have plans to support the rounding mode for primitive arithmetic
functions https://github.com/llvm/llvm-project/issues/228974, so I have
documented the `NearestTiesToEven` assumption that `fadd_impl` makes
when ruling out `-0.0`, allowing `fadd_impl` to be valid for all
rounding modes.
DeltaFile
+49-17llvm/lib/Support/KnownFPClass.cpp
+49-171 files

LLVM/project fad6946 — clang/test/OpenMP GH141228.cpp, llvm/lib/MC MCTargetOptionsCommandFlags.cpp

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+550-0llvm/test/Transforms/SLPVectorizer/X86/fma-copyable.ll
+145-236llvm/test/CodeGen/SPARC/fp-strict-cmp.ll
+38-216llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
+214-0llvm/test/Transforms/SLPVectorizer/X86/copyable-freeze.ll
+201-0clang/test/OpenMP/GH141228.cpp
+111-18llvm/test/CodeGen/SPARC/fp-strict.ll
+1,259-470119 files not shown
+2,514-714125 files

LLVM/project 2f1a1b0 — llvm/test/Transforms/SLPVectorizer/X86 copyable-freeze.ll

[SLP][NFC]Add extra tests with copyable freeze, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/240068
DeltaFile
+274-0llvm/test/Transforms/SLPVectorizer/X86/copyable-freeze.ll
+274-01 files

FreeBSD/src 838ff55 — lib/libc/xdr xdr.c, sys/xdr xdr.c

xdr: Limit xdr_wrapstring

The previous commit (re)introduced the possibility that a malicious or
corrupt message can cause the receiver to allocate a very large amount
of memory before realizing that the message is much shorter than
claimed.  Revert the change to xdr_wrapstring() to avoid this.

Fixes:          d2018cedb414 ("xdr: Fix xdr_string")
Reported by:    bjk@
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D60898
DeltaFile
+3-1sys/xdr/xdr.c
+3-1lib/libc/xdr/xdr.c
+6-22 files

HardenedBSD/src 838ff55 — lib/libc/xdr xdr.c, sys/xdr xdr.c

xdr: Limit xdr_wrapstring

The previous commit (re)introduced the possibility that a malicious or
corrupt message can cause the receiver to allocate a very large amount
of memory before realizing that the message is much shorter than
claimed.  Revert the change to xdr_wrapstring() to avoid this.

Fixes:          d2018cedb414 ("xdr: Fix xdr_string")
Reported by:    bjk@
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D60898
DeltaFile
+3-1sys/xdr/xdr.c
+3-1lib/libc/xdr/xdr.c
+6-22 files

FreeBSD/src 0c248bd — share/man/man4 iscsi.4, sys/dev/iscsi iscsi.c

iSCSI: Fast and per-session timeouts

Support per-session configurable ping (SCSI NOP) and login timeouts
similar to what is supported in the Linux iSCSI initiator configuration file.

Reduce iscsi timer granularity to 0.1 sec.
For backwards compatibility, when all timers are selected on integer numbers,
all status messages are unchanged. If the higher granularity is used, the
log messages include sub-second granularity.

The sysctl(3) interface has changed from pure int to string, in order to
support fractional seconds in a human-readable, dotted notation.

Reviewed By: #netapp, #manpages, jhb, pauamma_chezdork.com, siderop1_netapp.com
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D32540
DeltaFile
+35-18sys/dev/iscsi/iscsi.c
+24-2usr.bin/iscsictl/parse.y
+8-6usr.bin/iscsictl/iscsictl.c
+6-2usr.sbin/iscsid/iscsid.c
+4-3share/man/man4/iscsi.4
+3-3usr.bin/iscsictl/iscsi.conf.5
+80-342 files not shown
+83-348 files

HardenedBSD/src 0c248bd — share/man/man4 iscsi.4, sys/dev/iscsi iscsi.c

iSCSI: Fast and per-session timeouts

Support per-session configurable ping (SCSI NOP) and login timeouts
similar to what is supported in the Linux iSCSI initiator configuration file.

Reduce iscsi timer granularity to 0.1 sec.
For backwards compatibility, when all timers are selected on integer numbers,
all status messages are unchanged. If the higher granularity is used, the
log messages include sub-second granularity.

The sysctl(3) interface has changed from pure int to string, in order to
support fractional seconds in a human-readable, dotted notation.

Reviewed By: #netapp, #manpages, jhb, pauamma_chezdork.com, siderop1_netapp.com
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D32540
DeltaFile
+35-18sys/dev/iscsi/iscsi.c
+24-2usr.bin/iscsictl/parse.y
+8-6usr.bin/iscsictl/iscsictl.c
+6-2usr.sbin/iscsid/iscsid.c
+4-3share/man/man4/iscsi.4
+3-3usr.bin/iscsictl/iscsi.conf.5
+80-342 files not shown
+83-348 files

NetBSD/pkgsrc-wip 71b2bbd — nim options.mk Makefile, nim/patches patch-dist_nimble_src_nimblepkg_downloadnim.nim patch-dist_nimble_vendor_chronos_chronos_sendfile.nim

nim: remove, used for updating lang/nim
DeltaFile
+0-900nim/PLIST.doc
+0-550nim/PLIST
+0-129nim/Makefile
+0-29nim/options.mk
+0-19nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim
+0-16nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim
+0-1,6434 files not shown
+0-1,68210 files

NetBSD/pkgsrc fPl2Q6u — doc TODO CHANGES-2026

   doc: Updated lang/nim to 2.4.0
VersionDeltaFile
1.28302+1-2doc/TODO
1.7742+2-1doc/CHANGES-2026
+3-32 files

NetBSD/pkgsrc BtEFooA — lang/nim options.mk PLIST.doc

   nim: add missing files for 2.4.0 update
VersionDeltaFile
1.1+900-0lang/nim/PLIST.doc
1.1+32-0lang/nim/options.mk
+932-02 files

NetBSD/pkgsrc s7tD9sm — lang/nim distinfo PLIST, lang/nim/patches patch-bin_nim-gdb patch-dist_nimble_src_nimblepkg_downloadnim.nim

   nim: update to 2.4.0.

   Provided via wip by arcathrax with help from ci4ic4.

   2 years of development.
VersionDeltaFile
1.38+93-97lang/nim/Makefile
1.21+51-136lang/nim/PLIST
1.31+12-11lang/nim/distinfo
1.1+19-0lang/nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim
1.1+16-0lang/nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim
1.2+1-1lang/nim/patches/patch-bin_nim-gdb
+192-2456 files

LLVM/project 2be03e6 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

fixup! [SLP] Pruning when there is no Undef
DeltaFile
+7-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+7-61 files

LLVM/project ae123a7 — llvm/lib/Transforms/Vectorize VectorizeOptions.td SLPVectorizer.cpp

fixup! [SLP] Give failed seed a try
DeltaFile
+5-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-0llvm/lib/Transforms/Vectorize/VectorizeOptions.td
+7-22 files

LLVM/project e924ae8 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/X86 avg.ll

[SLP] Give failed seed a try

Previously, with the following vectorizable code:
y = x * x * x;
where IR ordered the code as:
sq = x * x;
y = sq * x;
If the seed is [sq0, y0, sq1, y1] and the cost model rejects
vectorizing sq0 and sq1, y0 will be bypassed without any retry in `I
+= ActualVF - 1`.

To fix this, we give skipped nodes a chance by using them as the root
of the tree and rebuilding it. In the retry logic, we starts from
bring the child of failure match (sq0,sq1) but uses FirstSkipped as
the filter. In here, [y0, y1] will be the new User to go
TryVectorizeWindow. If it still fails, it tried to bring its child in
as the next level try. For example, [sq0, y0, z0, sq1, y1, z1]. [y0,
y1] will brings [z0, z1] in until converge.
DeltaFile
+105-148llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds-rejected-window.ll
+99-43llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+35-27llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
+22-22llvm/test/Transforms/PhaseOrdering/X86/avg.ll
+13-10llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
+274-2505 files

LLVM/project f2e4fe6 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP] Pruning when there is no Undef

By checking all (two) of the users of isGuaranteedNotToBePoison.
1. IsNotPoisonedVec: FindReusedSplat do same check as HasUndefScalars
so it never called and can safely prunning.
2. all_of(NonConstants, [=](Value *V)...: Also do the same check as
HasUndefScalars.

Nowadays, we generates very few undef value. So the prunning here
makes sense as we try to do linear check to find a possible undef
instead of calling the very expensive isGuaranteedNotToBePoison.
DeltaFile
+11-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+11-61 files

LLVM/project 71b6d8e — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

fixup! [SLP] Give failed seed a try
DeltaFile
+5-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-11 files

LLVM/project 14197d8 — llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds-rejected-window.ll

[SLP][NFC] Add tests for dependent seeds in rejected windows

Precommit tests for the once-used seeds that depend on each other, such
as x * x and x * (x * x), whose window is rejected and whose users are
bypassed by the window walk.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+291-0llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds-rejected-window.ll
+291-01 files

LLVM/project 6be16f3 — flang/lib/Optimizer/OpenACC/Support FIROpenACCUtils.cpp, flang/test/Transforms/OpenACC acc-implicit-data-common-block.fir

[flang][openacc] Do not implicitly map whole common block when not needed (#239772)

A common block that is used in a compute region only as the `storage`
operand of the fir.declare of its members must not be implicitly mapped
as a
whole as it would clash with explicit mappings of the individual
members. When the common block is accessed directly, the mapping can be
done like before.
DeltaFile
+62-0flang/test/Transforms/OpenACC/acc-implicit-data-common-block.fir
+23-0flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
+85-02 files

NetBSD/src 7xidGqd — sys/arch/arm/at91 at91usart.c, sys/arch/mips/mips db_interface.c

   Make db_active ABI-stable by always including it in kern_stub.c.  Put its
   extern decl in <sys/systm.h> and eliminate <ddb/db_active.h>.
VersionDeltaFile
1.56+10-2sys/kern/kern_stub.c
1.141+2-7sys/arch/sparc64/sparc64/db_interface.c
1.65+2-7sys/arch/powerpc/powerpc/db_interface.c
1.102+2-7sys/arch/mips/mips/db_interface.c
1.63+3-6sys/arch/vax/vax/db_machdep.c
1.15+3-5sys/arch/arm/at91/at91usart.c
+22-3441 files not shown
+107-20147 files

LLVM/project 615c308 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 loads-from-single-predecessor.ll

[SLP]Fix metadata propagation for copyable loads

The wide load reads the memory of the copyable loads from the
predecessor block too. Intersect their flags and metadata with the
other lanes instead of skipping them, which kept metadata the
predecessor load does not have.

Reported in https://github.com/llvm/llvm-project/pull/233297#issuecomment-6710823367

Assisted-by: Cursor

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/240050
DeltaFile
+3-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-4llvm/test/Transforms/SLPVectorizer/X86/loads-from-single-predecessor.ll
+5-82 files

LLVM/project 38645c3 — llvm/test/Transforms/SLPVectorizer/X86 loads-from-single-predecessor.ll

[SLP][NFC]Add a test with incorrect metadata propagation, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/240046
DeltaFile
+41-0llvm/test/Transforms/SLPVectorizer/X86/loads-from-single-predecessor.ll
+41-01 files

Linux/linux fa4ad79 — fs/btrfs volumes.c defrag.c

Merge tag 'for-7.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:
 "A btrfs fixes. The ones that could have some user noticeable impact
  are enumerated, the rest is one-liners.

   - fix chattr failing on files with nodatasum and compress flags

   - fix inode defrag status with concurrent truncation so it's not
     skipped in defrag in the future

   - fix merging compressed extent in fiemap output

   - fix deleting wrong subvolume by id if it gets renamed during the
     ioctl

   - error handling fixes: sysfs, quotas, fs-verity, scrub, zoned mode"

* tag 'for-7.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:

    [16 lines not shown]
DeltaFile
+24-0fs/btrfs/ioctl.c
+17-5fs/btrfs/scrub.c
+20-0fs/btrfs/disk-io.c
+7-5fs/btrfs/qgroup.c
+10-1fs/btrfs/defrag.c
+6-1fs/btrfs/volumes.c
+84-125 files not shown
+97-1511 files

Linux/linux 7f75cd8 — fs/smb/server smb2pdu.c smbacl.c, fs/smb/server/mgmt user_session.c

Merge tag 'ksmbd-for-7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb

Pull smb server updates from Namjae Jeon:

 - Validate EA-name NUL termination to prevent out-of-bounds reads in
   debug logging. Return STATUS_EA_LIST_INCONSISTENT for malformed EA
   names in CREATE and SET_INFO requests.

 - Grant the owner's implicit READ_CONTROL and WRITE_DAC rights when no
   ACE names it, including MAXIMUM_ALLOWED handling, while respecting
   applicable OWNER RIGHTS ACEs.

 - Check group membership before granting permissions from a POSIX ACL
   group entry, preventing unintended access when a caller's UID matches
   the group's numeric GID.

 - Avoid reading past the DACL when logging an access denial by printing
   the requested and allowed access masks instead.


    [23 lines not shown]
DeltaFile
+36-7fs/smb/server/smbacl.c
+31-3fs/smb/server/smb2pdu.c
+4-0fs/smb/server/mgmt/user_session.c
+71-103 files

LLVM/project cac5de1 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 fma-copyable.ll

[SLP]Use fma as copyable main op without fmuladd lanes

fma(V, 1.0, -0.0) and fma(0.0, -0.0, V) equal V exactly, so fma
bundles model non-fma lanes as copyables, like fmuladd. fma lanes
never absorb fmul/fadd, so fma loses ties with fmul/fadd.

Assisted-by: Cursor

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/240039
DeltaFile
+32-40llvm/test/Transforms/SLPVectorizer/X86/fma-copyable.ll
+4-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+36-452 files