LLVM/project 9410b2cllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 combine-icmp.ll cmp-select-sign.ll

[X86] Prefer AVX512 VPCMP against zero over splat(1) for sle/slt (#216716)

InstCombine canonicalizes `icmp sle x, 0` to `icmp slt x, 1`. AVX512 `VPCMP`
can encode LE/GE against a zeroed register, but we were loading splat(1)
from the constant pool (`vpcmpltb .LCPI`).

### Approach
In `combineSetCC`, for AVX512 `vXi1` integer compares:
- Rewrite `slt x, splat(1)` / `sgt splat(1), x` to `sle x, 0`
- Rewrite `sgt x, splat(-1)` / `slt splat(-1), x` to `sge x, 0`
- Skip the existing LE/GE → LT/GT `incDecVectorConstant` fold when it
would
replace a zero splat with ±1 (avoids oscillating with the rewrite above)

This is the vector analog of scalar `TranslateX86CC` (`SETLT x, 1` →
`COND_LE`
vs 0). InstCombine is left unchanged.

Pre-AVX512 (`-mcpu=x86-64-v3`) still uses `vpcmpgtb` vs zero + `not`.

    [9 lines not shown]
DeltaFile
+179-0llvm/test/CodeGen/X86/avx512-icmp-sle-zero.ll
+27-27llvm/test/CodeGen/X86/vector-pcmp.ll
+31-0llvm/lib/Target/X86/X86ISelLowering.cpp
+12-12llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
+2-2llvm/test/CodeGen/X86/cmp-select-sign.ll
+2-1llvm/test/CodeGen/X86/combine-icmp.ll
+253-426 files

LLVM/project 5d41587libc/src/__support/File file.h, libc/src/__support/File/linux file.cpp

[libc] Make File::FileLock public in File data structure (#221005)

Commit 9db0037bf1b3 moved FileLock from namespace scope into class File
so internal methods could use RAII locking, but placed it in the private
section.

Move FileLock to the public section of class File so that external
callers operating on File streams can use RAII locking instead of manual
lock and unlock calls.

Port callers in puts, fgets, perror, fgetws, reopenfile, and the pwd
flat file database parser to use File::FileLock, and add a unit test
verifying RAII locking on File streams.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+13-13libc/src/__support/File/file.h
+2-15libc/src/stdio/generic/puts.cpp
+4-11libc/src/pwd/flat_file_db.h
+15-0libc/test/src/__support/File/file_test.cpp
+2-5libc/src/__support/File/linux/file.cpp
+1-2libc/src/wchar/fgetws.cpp
+37-462 files not shown
+39-508 files

FreeBSD/ports 638d0b3japanese/mecab-ipadic Makefile

japanese/mecab-ipadic: Update MASTER_SITES

Take maintainership.

PR:             298135
Reported by:    pkg-fallout
Approved by:    osa (mentor)
MFH:            2026Q3
DeltaFile
+4-3japanese/mecab-ipadic/Makefile
+4-31 files

FreeBSD/ports 0a1a871ftp/oftpd Makefile

ftp/oftpd: Mark DEPRECATED

Abandoned and has known vulnerability (CVE-2005-2239).

PR:             298096
Approved by:    osa (mentor)
MFH:            2026Q3
DeltaFile
+4-1ftp/oftpd/Makefile
+4-11 files

HardenedBSD/src 6dce290share/man/man9 vm_page_free.9, sys/arm/arm trap-v6.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+449-0tests/sys/pmc/pmc_exterr_test.c
+73-19sys/dev/hwpmc/hwpmc_amd.c
+11-26sys/dev/nvme/nvme_qpair.c
+29-2sys/dev/hwpmc/hwpmc_amd.h
+8-7sys/arm/arm/trap-v6.c
+1-13share/man/man9/vm_page_free.9
+571-6710 files not shown
+620-8716 files

HardenedBSD/src d894132sys/geom/eli g_eli.c, sys/kern sched_4bsd.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+143-72sys/riscv/starfive/jh7110_gpio.c
+72-52sys/geom/eli/g_eli.c
+43-0tests/sys/kern/subr_physmem_test.c
+30-0tests/sys/netpfil/pf/anchor.sh
+0-24sys/kern/sched_4bsd.c
+0-11sys/sys/libkern.h
+288-15914 files not shown
+306-19920 files

HardenedBSD/src b239daeshare/man/man9 vm_page_free.9, sys/arm/arm trap-v6.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+449-0tests/sys/pmc/pmc_exterr_test.c
+73-19sys/dev/hwpmc/hwpmc_amd.c
+11-26sys/dev/nvme/nvme_qpair.c
+29-2sys/dev/hwpmc/hwpmc_amd.h
+8-7sys/arm/arm/trap-v6.c
+1-13share/man/man9/vm_page_free.9
+571-6710 files not shown
+620-8716 files

HardenedBSD/src 13dc349sys/geom/eli g_eli.c, sys/kern sched_4bsd.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+143-72sys/riscv/starfive/jh7110_gpio.c
+72-52sys/geom/eli/g_eli.c
+43-0tests/sys/kern/subr_physmem_test.c
+30-0tests/sys/netpfil/pf/anchor.sh
+0-24sys/kern/sched_4bsd.c
+0-11sys/sys/libkern.h
+288-15914 files not shown
+306-19920 files

LLVM/project 9e7ef6dlld/ELF LTO.cpp, lld/test/ELF/lto obj-path.ll

[ELF] Fix --lto-obj-path with the ThinLTO cache (#211062)

The --lto-obj-path option no longer writes empty files if the ThinLTO
cache is enabled or DTLTO is used.

The implementation of --lto-obj-path derives the native ELF file
contents from the buf[] array. When the ThinLTO cache or DTLTO is used
the native ELF file contents may be in the files[] array instead. Delay
the writing of the native ELF file till after the existing code that
extracts the native ELF file contents from either files[] or buf[].

Assisted-by: codex
Signed-off-by: Longjun Luo <luolongjuna at gmail.com>
DeltaFile
+17-1lld/test/ELF/lto/obj-path.ll
+2-6lld/ELF/LTO.cpp
+19-72 files

LLVM/project 35f5599lldb/source/Plugins/Process/Linux NativeProcessLinux.cpp

[lldb] Fix iterator invalidation in SigchldHandler (#219752)

While SigchldHandler iterates over m_processes with llvm::any_of to
find the process that owns a waitpid event, handling an event can
create or destroy a NativeProcessLinux instance, mutating m_processes.
Comparing iterators after m_processes is mutated (such as the
find_if(...) != end() check in libstdc++'s std::any_of) triggers
assertion failures under epoch checks.

Operating on a temporary copy of m_processes via llvm::to_vector
ensures that iterator traversal is safe from container mutations.

This bug was discovered with tightened epoch checks in
SmallPtrSetIterator.

Assisted-by: Antigravity
DeltaFile
+4-1lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+4-11 files

LLVM/project 8562804flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp

[flang][OpenMP] Track reachable metadirective replacement paths

The existing semantic checks can validate loop-associated directives in a
METADIRECTIVE against the following loop, but they do not model how the
METADIRECTIVE chooses among its replacements.

Today each WHEN is considered independently: if its selector can match, its
replacement is checked. Selection instead ranks all applicable candidates as
a set. An unguarded higher-ranked candidate makes lower-ranked candidates
unreachable, while a dynamically guarded candidate leaves them reachable
when its condition is false. Treating both cases alike can diagnose loop
requirements on a replacement that can never be selected.

The selected replacement can also affect later selection. Its directive
contributes to the construct context seen by a nested metadirective. The
checker currently retains only syntactic nesting, so nested construct
selectors cannot observe a directive selected by an enclosing
metadirective.


    [44 lines not shown]
DeltaFile
+345-95flang/lib/Semantics/check-omp-variant.cpp
+109-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+56-25flang/lib/Semantics/check-omp-structure.cpp
+37-13flang/lib/Semantics/check-omp-structure.h
+23-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-apply.f90
+4-0flang/include/flang/Semantics/openmp-utils.h
+574-1331 files not shown
+575-1347 files

LLVM/project db0b0e2clang/test/Parser GH214128.cpp, clang/test/SemaCXX type-traits.cpp

[clang][test] Move test `GH214128.cpp` into `type-traits.cpp` NFC (#221000)

Follow up #219799
DeltaFile
+0-17clang/test/Parser/GH214128.cpp
+17-0clang/test/SemaCXX/type-traits.cpp
+17-172 files

LLVM/project c625fb2llvm/lib/Target/BPF BPFMISimplifyPatchable.cpp

BPF: Avoid depending on operand parents in BPFMISimplifyPatchable (#220076)
DeltaFile
+23-24llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
+23-241 files

LLVM/project fc1afa6llvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/ThinLTO/X86 cfi-icall-import-inline.ll

[LowerTypeTests] Keep imported CFI functions inlinable in the ThinLTO backend (#220786)

In the ThinLTO backend, importFunction() treated imported
available_externally definitions like declarations: it created a
bodiless declaration of the real function (foo.cfi) and redirected all
direct calls to it so that they skip the jump table. Since
LowerTypeTests runs at the start of the backend pipeline, this happened
before the inliner ever saw the call, and the imported body became
unreferenced. As a result, with -fsanitize=cfi-icall and ThinLTO, no
function that is a member of a jump table (i.e. whose type is checked by
any indirect call in the program) could be inlined across modules, which
defeats the main purpose of importing it.

Handle imported definitions the same way as local definitions instead:
rename the body to foo.cfi, keep direct calls pointing at it, and
redirect only address-taken uses to the jump table entry.

Assisted-by: Claude Code
DeltaFile
+78-0llvm/test/ThinLTO/X86/cfi-icall-import-inline.ll
+43-0llvm/test/Transforms/LowerTypeTests/import-icall.ll
+18-8llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+4-0llvm/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
+143-84 files

LLVM/project 9b74746flang/lib/Frontend FrontendActions.cpp, flang/test/Driver emit-asm-x86.f90

[Flang] Switch to runCodeGenPipeline abstraction

This lets flang share some more code with clang around CodeGen pipeline
setup. It also already has a switch for enabling the NewPM and will
default to the NewPM for targets that opt in.

Reviewers: arsenm, valerydmit, jeanPerier, tarunprabhu, clementval, aengelke

Pull Request: https://github.com/llvm/llvm-project/pull/220307
DeltaFile
+4-23flang/lib/Frontend/FrontendActions.cpp
+1-0flang/test/Driver/emit-asm-x86.f90
+5-232 files

LLVM/project c6d8ee0flang/include/flang/Semantics openmp-modifiers.h, flang/lib/Semantics check-omp-structure.cpp check-omp-syntax.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+676-590llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+545-0flang/lib/Semantics/check-omp-syntax.cpp
+177-274flang/lib/Semantics/check-omp-structure.cpp
+1-443llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
+1-371flang/include/flang/Semantics/openmp-modifiers.h
+189-0llvm/test/Transforms/SLPVectorizer/RISCV/gep-mixed-index-types.ll
+1,589-1,67849 files not shown
+2,358-2,31655 files

LLVM/project 452f0ddclang/include/clang/Basic CodeGenOptions.def, clang/include/clang/Options Options.td

[Clang] Switch to runCodeGenPipeline abstraction

This moves some code to LLVM where it can be shared with other
frontends. It also enables a common spot for switching between PMs, so
we can drop the clang specific option.

Reviewers: efriedma-quic, arsenm, aengelke, jansvoboda11

Pull Request: https://github.com/llvm/llvm-project/pull/220306
DeltaFile
+8-91clang/lib/CodeGen/BackendUtil.cpp
+0-16clang/include/clang/Options/Options.td
+0-2clang/include/clang/Basic/CodeGenOptions.def
+1-1clang/test/CodeGen/X86/newpm.c
+9-1104 files

LLVM/project ecd51d3llvm/test/Bindings/OCaml debuginfo.ml

[OCaml] Update debuginfo test for persistent metadata IDs (#220957)

Metadata nodes now print with stable !N references rather than pointer
addresses. Update the FileCheck captures and dependent references
accordingly.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/16/builds/5121

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/56/builds/6880
DeltaFile
+27-27llvm/test/Bindings/OCaml/debuginfo.ml
+27-271 files

FreeBSD/src 22e27e3tests/sys/pmc Makefile

pmc_exterr_test: add MACHINE_ARCH check

The tests manipulate MD structure fields directly. Build these tests for
amd64 only.

Fixes:  e555692d1bb ("hwpmc: Add ATF regression tests for hwpmc EXTERROR diagnostics")
DeltaFile
+2-0tests/sys/pmc/Makefile
+2-01 files

HardenedBSD/src 22e27e3tests/sys/pmc Makefile

pmc_exterr_test: add MACHINE_ARCH check

The tests manipulate MD structure fields directly. Build these tests for
amd64 only.

Fixes:  e555692d1bb ("hwpmc: Add ATF regression tests for hwpmc EXTERROR diagnostics")
DeltaFile
+2-0tests/sys/pmc/Makefile
+2-01 files

LLVM/project 8908277llvm/include/llvm/SandboxIR Context.h, llvm/lib/SandboxIR Context.cpp

Revert "[SandboxIR] Callback registration now allows specifying order" (#221008)

Reverts llvm/llvm-project#219609

Seems to be breaking some unittest.
DeltaFile
+0-95llvm/unittests/SandboxIR/SandboxIRTest.cpp
+16-57llvm/include/llvm/SandboxIR/Context.h
+39-33llvm/lib/SandboxIR/Context.cpp
+55-1853 files

LLVM/project 3643df2llvm/include/llvm/SandboxIR Context.h, llvm/lib/SandboxIR Context.cpp

Revert "[SandboxIR] Callback registration now allows specifying order (#219609)"

This reverts commit d802dc9e9cd9f61247417431779f1f0231fdd5fb.
DeltaFile
+0-95llvm/unittests/SandboxIR/SandboxIRTest.cpp
+16-57llvm/include/llvm/SandboxIR/Context.h
+39-33llvm/lib/SandboxIR/Context.cpp
+55-1853 files

LLVM/project 035640bllvm/test/Transforms/SLPVectorizer/RISCV floating-point.ll splat-gather-trim.ll

[SLP][NFC] Cleanup LIT test labels for RISCV (#220965)

Duplicate outputs can be consolidated.
DeltaFile
+1-443llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
+1-88llvm/test/Transforms/SLPVectorizer/RISCV/load-store.ll
+1-87llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
+1-76llvm/test/Transforms/SLPVectorizer/RISCV/load-binop-store.ll
+1-68llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-trim.ll
+1-60llvm/test/Transforms/SLPVectorizer/RISCV/floating-point.ll
+6-8226 files

LLVM/project b4933b7clang/include/clang/AST TypeBase.h, clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h

[clang] Fix FoldingSet lookups that disagree with the node's Profile (#220168)

Some clang code calls FoldingSetImpl::insert with a node whose profile
doesn't match its insert token, leading to missing hash-consing.

* getObjCTypeParamType keys on Decl->getUnderlyingType() where Profile()
  reports getCanonicalTypeInternal(). Canonicalize before the lookup: the
  decl's underlying type can be updated later.
* getUnaryTransformType drops UnderlyingType for a dependent base after
  building the ID.
* getFunctionTypeInternal keys canonically where Profile() passes
  isCanonicalUnqualified(), which differs for a computed noexcept.
* getConstantArrayType keys on the full index qualifiers; only the three
  CVR bits are stored.
* LoanManager keys a PlaceholderBase on the bare decl pointer where
  Profile() reports the PointerUnion's opaque value.

These issues would be caught by #220166

Aided by Opus 5
DeltaFile
+21-12clang/lib/AST/ASTContext.cpp
+5-3clang/lib/AST/Type.cpp
+5-1clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+2-2clang/lib/Analysis/LifetimeSafety/Loans.cpp
+1-2clang/include/clang/AST/TypeBase.h
+34-205 files

LLVM/project f07ac03flang-rt/lib/cuda allocator.cpp, flang/include/flang/Runtime/CUDA allocator.h

[flang][cuda] Expose some function to deal with async device allocation (#220770)
DeltaFile
+47-36flang-rt/lib/cuda/allocator.cpp
+12-0flang/include/flang/Runtime/CUDA/allocator.h
+59-362 files

LLVM/project 648b52fllvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer ptrtoaddr.ll

[MSAN] Handle PtrToAddrInst in MemorySanitizer (#219307)

PR #210729 changed how pointer diffs are handled, specifically when
pointer overflow isn't defined it sometimes emits CreatePtrToAddr, which
MSAN currently doesn't handle. This PR adds a visitor for PtrToAddrInst
which fixes the issue as well as a regression test.

https://github.com/llvm/llvm-project/pull/210729#issuecomment-5445402022
has my minimal reproducer.

Assisted-By: Automated tooling, human reviewed
DeltaFile
+14-0llvm/test/Instrumentation/MemorySanitizer/ptrtoaddr.ll
+7-0llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+21-02 files

Linux/linux 841e384arch/s390/boot ipl_parm.c, arch/s390/kernel ipl.c smp.c

Merge tag 's390-7.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Heiko Carstens:

 - Use jiffies instead of jiffies_64 to address a data-race reported by
   KCSAN

 - Unpoison cpacf instruction results to address KMSAN reports

 - Drop unused member from ap_device_id

 - Fix potential NULL pointer dereferences in IPL code

 - Add missing length check to SCLP error report handling

 - Add missing length check to zcrypt CCA code

 - Fix return code handling in diag324 code


    [33 lines not shown]
DeltaFile
+36-53arch/s390/mm/pgalloc.c
+13-15arch/s390/boot/ipl_parm.c
+24-3arch/s390/kernel/perf_pai.c
+3-13arch/s390/kernel/smp.c
+14-1drivers/s390/crypto/zcrypt_ccamisc.c
+9-3arch/s390/kernel/ipl.c
+99-8811 files not shown
+119-10317 files

FreeNAS/freenas e9420b2tests/api2 test_s3_config.py test_s3_bucket.py

    Skip the S3 suites that need the daemon

    The service and bucket suites start truenas_s3 and talk to it, and the
    daemon is not in the TrueNAS image yet. They are skipped whole, with
    the TODO at the top of each file, so the middleware side can land
    while the daemon is still in development. The access key suite needs
    no daemon and keeps running.
DeltaFile
+6-0tests/api2/test_s3_config.py
+6-0tests/api2/test_s3_bucket.py
+12-02 files

FreeNAS/freenas b81fb67src/middlewared/middlewared/plugins/service_/services truenas_s3.py, src/middlewared/middlewared/plugins/truenas_s3 __init__.py config.py

Ask the S3 daemon whether a reload took

The daemon used to say only in the journal whether a reload went in
force, so middleware predicted the answer from a copy of which keys
hold to a restart, diffing the files it had just rendered against the
ones before. It also carried the listen address to the daemon through
a systemd drop in, reloading systemd before every start and restart,
and rendered a PAM stack of its own for the account gate.

The daemon now answers over its control socket, takes its listen
addresses from the configuration and gates accounts through the
truenas-unix stack middleware already renders. So render_and_apply
renders and asks. reloading is done, restart means service.control
RESTART, invalid is a CallError carrying the daemon's text with the
running deployment left in force, and draining or no socket means the
next start reads the files. The key lists, the text diff, the drop in
renderer and its etc entry, the daemon reload hooks, the PAM template
and its etc entry are gone. bindip renders as [server] listen and may
name up to eight addresses now that the daemon binds them all.

    [2 lines not shown]
DeltaFile
+60-35src/middlewared/middlewared/plugins/truenas_s3/lifecycle.py
+11-68src/middlewared/middlewared/plugins/truenas_s3/render.py
+10-12tests/api2/test_s3_config.py
+0-19src/middlewared/middlewared/plugins/service_/services/truenas_s3.py
+9-5src/middlewared/middlewared/plugins/truenas_s3/config.py
+5-4src/middlewared/middlewared/plugins/truenas_s3/__init__.py
+95-1434 files not shown
+99-16310 files

FreeNAS/freenas d78a567src/middlewared/middlewared/api/v26_0_0 s3.py, src/middlewared/middlewared/plugins/truenas_s3 __init__.py accesskey_crud.py

Delete a local account's S3 access keys with it

A key left behind by user.delete sat in the table with no account,
read USER_MISSING and could only be cleaned up by hand. Deleting the
account now deletes every key bound to its datastore id, then the
credentials file is re rendered as before. USER_MISSING keeps its
meaning for directory accounts, which are bound by SID and never pass
through user.delete, and the test that covered the local case now
simulates an unresolved SID instead.
DeltaFile
+23-10tests/api2/test_s3_accesskey.py
+15-1src/middlewared/middlewared/plugins/truenas_s3/accesskey_crud.py
+10-1src/middlewared/middlewared/plugins/truenas_s3/__init__.py
+3-2src/middlewared/middlewared/api/v26_0_0/s3.py
+51-144 files