LLVM/project dddc8b3utils/bazel MODULE.bazel.lock linux_uapi.bzl

[libc][bazel] Add an option to build linux UAPI headers from source
DeltaFile
+424-5utils/bazel/MODULE.bazel.lock
+67-14utils/bazel/linux_uapi.bzl
+8-1utils/bazel/MODULE.bazel
+0-2utils/bazel/extensions.bzl
+499-224 files

LLVM/project 6d4e67eutils/bazel linux_uapi.bzl MODULE.bazel.lock

[libc][bazel] Add a repo with linux kernel UAPI headers

This will be used to support libc's -DFULL_BUILD option, which uses `-nostdlibinc` and thus requires a copy of linux kernel headers.
DeltaFile
+52-0utils/bazel/linux_uapi.bzl
+5-1utils/bazel/MODULE.bazel.lock
+2-0utils/bazel/extensions.bzl
+1-0utils/bazel/MODULE.bazel
+60-14 files

LLVM/project 9b4b877llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][AArch64]Support masked div/rem on non-pow-2 vectors

For fixed-width integer div/rem on AArch64 SVE, a non-power-of-2 vector
cannot execute as a single whole-register operation. When profitable,
pad the vector to the next full register and use the masked div/rem
intrinsics.

Fixes #207880

Reviewers: RKSimon, hiraditya

Pull Request: https://github.com/llvm/llvm-project/pull/210623
DeltaFile
+81-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+15-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+12-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+8-2llvm/test/Transforms/SLPVectorizer/AArch64/masked-div-rem-non-pow2.ll
+6-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
+4-1llvm/test/Transforms/SLPVectorizer/AArch64/masked-div-rem-non-pow2-revec.ll
+126-61 files not shown
+128-87 files

LLVM/project 09ee2e5llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+2,196-5,244llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
+3,573-3,746llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+31,805-34,6592,575 files not shown
+238,276-149,4252,581 files

LLVM/project 6d14bf0llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+2,196-5,244llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
+3,573-3,746llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+31,805-34,6592,574 files not shown
+238,242-149,4252,580 files

LLVM/project 2bc3ca6utils/bazel/llvm-project-overlay/lldb BUILD.bazel

[bazel] Set up windows specific cmake defines for lldb bazel build and config for LZMA (#205823)

Adds an @platforms//os:windows branch to the ConfigHeader
expand_template OS select(), alongside the
existing macos/linux branches. On Windows the POSIX-oriented features
are disabled (HAVE_PTSNAME_R,
LLDB_ENABLE_POSIX, LLDB_ENABLE_TERMIOS → 0) and the platform-detection
macros (HAVE_LIBCOMPRESSION,
HAVE_*_PROCESS_VM_READV, HAVE_PPOLL, HAVE_SYS_EVENT_H,
LLDB_ENABLE_LIBXML2, LLDB_HAVE_EL_RFUNC_T) are
set to their Windows values. This complements the recently added Windows
process plugin (#203146) so a
Windows-configured lldb gets a correct Config.h. Python stays disabled
on Windows (base default
  LLDB_ENABLE_PYTHON 0).

Continuing to work backwards from Meta's internally working buck2 build
that is translated from this bazel. This lacked windows select entirely,
so porting back what we ended up needing. There are still some changes

    [13 lines not shown]
DeltaFile
+44-4utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+44-41 files

LLVM/project 8eb0419llvm/lib/Target/SPIRV SPIRVUtils.cpp SPIRVStructurizer.cpp, llvm/test/CodeGen/SPIRV/structurizer merge-exit-switch.ll

[SPIRV] Support switch terminators when merging region exits (#209859)

fixes #209310

This change fixes the `llvm_unreachable("Unhandled terminator type.")`
crash in `createExitVariable` when a convergence region's exit block
ends in a switch instruction.

To handle the SwitchInst properly we needed to:

1. Build a select chain keyed on the switch condition, using the default
destination as the fallback value and skipping successors that are
internal to the region. This is an almost exact copy of what already
exists for `CondBrInst`.
2. Modify the SPIRVStructurizer.cpp `splitSwitchCases`to removes a case
whose target is the default destination instead of splitting it into a
new successor block.

Assisted by Claude Opus 4.8
DeltaFile
+60-0llvm/test/CodeGen/SPIRV/structurizer/merge-exit-switch.ll
+20-1llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+10-0llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
+90-13 files

LLVM/project b4a12ebclang/include/clang/CIR CIRToCIRPasses.h, clang/include/clang/Frontend FrontendOptions.h

[CIR] Add opt-in flag to run x86_64 call-conv lowering (#211335)

The x86_64 System V classifier and the CallConvLowering pass that drives
it are already in the tree, but nothing runs them: the -fclangir
pipeline never adds the pass, so CIR still emits uncoerced aggregate
signatures on x86_64 and its LLVM output diverges from classic CodeGen
for anything passed or returned in registers.

This adds the cc1 flag -clangir-enable-call-conv-lowering, off by
default like -clangir-enable-idiom-recognizer, and runs the pass in
runCIRToCIRPasses right after CXXABILowering, which has already reduced
C++ ABI types to plain records the classifier can handle. The flag is
gated on x86_64. On other targets it is a silent no-op, so a driver can
set it unconditionally without breaking non-x86_64 builds. The AVX level
is fixed at None because the classifier's current supported subset has
no >128-bit vector aggregate where the level would change the result.

With the flag on, supported scalars and small aggregates are coerced to
match classic CodeGen: sign/zero-extended narrow integers, SSE scalars,

    [5 lines not shown]
DeltaFile
+81-0clang/test/CIR/CodeGen/call-conv-lowering-x86_64.c
+26-2clang/lib/CIR/Lowering/CIRPasses.cpp
+6-2clang/include/clang/Frontend/FrontendOptions.h
+5-0clang/include/clang/Options/Options.td
+2-1clang/include/clang/CIR/CIRToCIRPasses.h
+2-1clang/lib/CIR/FrontendAction/CIRGenAction.cpp
+122-66 files

LLVM/project d40a766libc/src/__support freestore.h

[libc] add fastpath if linear portion are exact

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+13-0libc/src/__support/freestore.h
+13-01 files

LLVM/project 91a027dlibc/src/__support freestore.h

[libc] add fast path for small linear bins in find_and_remove_fit

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+13-0libc/src/__support/freestore.h
+13-01 files

FreeNAS/freenas 7738cbdsrc/middlewared/middlewared/apps webshell_app.py

Expand timeout more
DeltaFile
+5-1src/middlewared/middlewared/apps/webshell_app.py
+5-11 files

FreeNAS/freenas 9cb2fa0src/middlewared/middlewared/apps webshell_app.py

Expand the wait to 10 minutes
DeltaFile
+1-1src/middlewared/middlewared/apps/webshell_app.py
+1-11 files

LLVM/project f1483eallvm/test/Analysis/ScalarEvolution ptrtoint.ll, llvm/test/Transforms/IndVarSimplify/AArch64 ptrtoaddr-ptrtoint.ll expand-ptrtoaddr-reuse-ptrtoint.ll

[PhaseOrdering] Add more tests for expanding ptr SCEVs (NFC) (#211360)

Add more test cases requiring pointer-based SCEVs for
https://github.com/llvm/llvm-project/pull/180244.
DeltaFile
+379-0llvm/test/Transforms/PhaseOrdering/X86/ptrtoaddr-ptrtoint.ll
+106-0llvm/test/Transforms/IndVarSimplify/AArch64/ptrtoaddr-ptrtoint.ll
+58-0llvm/test/Transforms/LoopStrengthReduce/AArch64/expand-ptrtoaddr-reuse-ptrtoint.ll
+55-0llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
+0-46llvm/test/Transforms/IndVarSimplify/AArch64/expand-ptrtoaddr-reuse-ptrtoint.ll
+40-0llvm/test/Transforms/IndVarSimplify/X86/ptrtoaddr-narrow-pointer.ll
+638-466 files

LLVM/project 2d20d73libc/src/__support freestore.h

[libc] simplify TLSFFreeStoreImpl with free_lists[BITS-1] and FreeTrie trie members

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+32-63libc/src/__support/freestore.h
+32-631 files

LLVM/project ad665d6libc/src/__support freestore.h

[libc] replace union ListOrTrie with struct using uintptr_t payload and bit_cast

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+33-15libc/src/__support/freestore.h
+33-151 files

LLVM/project 252f31aclang/lib/StaticAnalyzer/Checkers DanglingPtrDeref.cpp, clang/test/Analysis dangling-ptr-deref.cpp

[analyzer] Detect dangling pointers passed to function calls (#211045)

In order to detect if a dangling pointer is passed to a function the
analyzer has to inspect each call argument. For that reason I have
implemented the `checkPostCall` for the `DanglingPtrDeref` checker to
check if an argument passed to a function is dangling. Since
`checkLocation` only catches dereferences and cannot reason about
whether an argument passed to a function is dangling it cannot detect
these type of bugs alone.
DeltaFile
+28-0clang/test/Analysis/dangling-ptr-deref.cpp
+19-1clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
+47-12 files

LLVM/project b50021alibc/src/__support freestore.h

[libc] introduce LINEAR_SCAN_LIMIT to FreeStore config

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+4-1libc/src/__support/freestore.h
+4-11 files

NetBSD/src pUmFAujsys/dev/raidframe rf_disks.c

   PR kern/60477

   Use greater than zero instead of strictly one
VersionDeltaFile
1.97+3-3sys/dev/raidframe/rf_disks.c
+3-31 files

LLVM/project 6a2662clibc/src/__support freestore.h

[libc] refactor DefaultFreeStoreConfig for TLSFFreeStore

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+10-22libc/src/__support/freestore.h
+10-221 files

LLVM/project 3093d8cclang/lib/Driver/ToolChains HIPSPV.cpp, clang/test/Driver hipspv-toolchain.hip

[HIPSPV] Preserve device debug info requested via -g

HIPSPVToolChain::adjustDebugInfoKind() unconditionally forced NoDebugInfo,
so compiling HIP device code with -g produced SPIR-V with no debug metadata.
Debuggers such as Intel's gdb-oneapi could therefore not resolve source
lines or local variables in offloaded kernels. The stated reason for
disabling it (the SPIRV-LLVM-Translator aborting on DW_OP_LLVM_convert) no
longer applies, as the translator now lowers that operation.

Stop clobbering the requested debug level, and when -g is given emit debug
info in the NonSemantic.Shader.DebugInfo form
(--spirv-debug-info-version=nonsemantic-shader-200), enabling the required
SPV_KHR_non_semantic_info extension. The default (no -g) output is
unchanged.

Also enable SPV_INTEL_optnone when -g is requested. At -O0 Clang marks
functions optnone; preserving that attribute lets gdb-oneapi inspect kernel
arguments and locals instead of reporting them as <optimized out>. The
extension is a no-op at -O1 and above.

Reported downstream: CHIP-SPV/chipStar#1004
DeltaFile
+35-4clang/lib/Driver/ToolChains/HIPSPV.cpp
+24-0clang/test/Driver/hipspv-toolchain.hip
+59-42 files

LLVM/project eff8f41llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 wide-store.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+11-11llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-7llvm/test/Transforms/SLPVectorizer/AArch64/wide-store.ll
+23-182 files

LLVM/project 48c586dlibc/src/__support freelist.cpp freetrie.h, libc/test/src/__support freetrie_test.cpp

[libc] rename next_node to next and get_root to root

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+9-9libc/src/__support/freelist.cpp
+7-7libc/src/__support/freetrie.h
+3-3libc/src/__support/freelist.h
+2-2libc/src/__support/freestore.h
+2-2libc/src/__support/freetrie.cpp
+2-2libc/test/src/__support/freetrie_test.cpp
+25-256 files

FreeNAS/freenas f4ed4c8src/middlewared/middlewared/apps webshell_app.py

Bump timeout slightly

We use 60 second timeouts in various other places and an extra
30 seconds to catch a wedged client isn't onerous.
DeltaFile
+1-1src/middlewared/middlewared/apps/webshell_app.py
+1-11 files

FreeNAS/freenas b6518b0src/middlewared/middlewared/apps webshell_app.py

Remove more refactoring
DeltaFile
+4-3src/middlewared/middlewared/apps/webshell_app.py
+4-31 files

LLVM/project 2565f7flibc/src/__support freestore.h freelist.cpp, libc/test/src/__support freestore_test.cpp

[libc] clean up extra changes

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+38-24libc/test/src/__support/freestore_test.cpp
+32-4libc/src/__support/freestore.h
+0-3libc/src/__support/freelist.cpp
+1-0libc/src/__support/freelist_heap.h
+71-314 files

NetBSD/pkgsrc h9jldlBdoc CHANGES-2026

   doc: Updated net/knot-resolver to 6.4.1
VersionDeltaFile
1.4679+2-1doc/CHANGES-2026
+2-11 files

LLVM/project de44ea4llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU] Simplify check for packed fp32/64 opsel bits. NFCI

Call isLegalGFX12PlusPackedMathFP32or64BitOperand directly instead
of the whole isLegalOperand.
DeltaFile
+23-14llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+23-141 files

NetBSD/pkgsrc SqpNVJynet/knot-resolver distinfo Makefile

   knot-resolver: Update to 6.4.1

   Knot Resolver 6.4.1 (2026-07-22)
   Security:
   DNS-over-QUIC (DoQ) had severe issues, allowing even RCE Many people reported (some of) these issues to us.
   DNSSEC correctness issues, acting mainly through the aggressive cache:
   * dealing with Labels field in RRSIGs being smaller than the signer’s
   * dealing with NSEC’s next-name pointing outside of the zone
   Special thanks to Qifan Zhang from Palo Alto Networks.

   Improvements:
   docker: upgrade to Debian 13 (!1856)
   update IANA’s certificate for root trust anchor bootstrapping (!1845)

   Bugfixes:
   /local-data/addresses*: make multiple addresses work (#808, #954)
   views: fix protocol-based matching for DoQ
VersionDeltaFile
1.2+4-4net/knot-resolver/distinfo
1.2+2-2net/knot-resolver/Makefile
+6-62 files

LLVM/project f3424c7llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Inline `RewriteVPExpandSCEV` lambda

Calling it on `Plan.getTripCount()` explicitly doesn't seem to be
necessary anymore, so can inline into the single remaining use.
DeltaFile
+11-14llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-141 files

OpenBSD/src khwkc6Gsys/arch/riscv64/dev smtpmic.c

   Unconditionally set cpuresetfn and powerdownfn.  The K3 firmware that I'm
   currently working with claims to implement the System Reset Extension,
   but the reset doesn't actually work.  Looking at the K1/K3 firmware
   code reveals that the firmware would do the same thing as this driver,
   so overriding these functions should be fine.

   ok jsg@
VersionDeltaFile
1.2+3-5sys/arch/riscv64/dev/smtpmic.c
+3-51 files