LLVM/project e1b6493 — mlir/include/mlir/IR PatternMatch.h ValueRange.h, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][IR] Add return value to `replaceUsesWithIf`
DeltaFile
+8-14mlir/lib/Dialect/SCF/IR/SCF.cpp
+13-6mlir/lib/IR/PatternMatch.cpp
+7-6mlir/include/mlir/IR/PatternMatch.h
+8-5mlir/include/mlir/IR/ValueRange.h
+9-4mlir/lib/IR/Value.cpp
+9-2mlir/lib/Transforms/Utils/DialectConversion.cpp
+54-374 files not shown
+66-4810 files

LLVM/project b445393 — flang/test/Semantics/OpenMP metadirective-declare-reduction-v52.f90 metadirective-declare-reduction-v51.f90

Add metadirective nothing per reviewer request
DeltaFile
+1-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+1-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+2-02 files

LLVM/project fb49b52 — llvm/lib/Transforms/Vectorize VPlanConstruction.cpp VPlanTransforms.cpp

Fixups
DeltaFile
+23-12llvm/lib/Transforms/Vectorize/VPlan.h
+4-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+31-184 files

LLVM/project e484029 — llvm/lib/Transforms/Instrumentation DataFlowSanitizer.cpp

[DFSan] Remove check for icmp constant expression (NFC) (#235709)

icmp constant expressions are no longer supported, so we should
only check for the instruction form.
DeltaFile
+2-8llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
+2-81 files

LLVM/project 7253d89 — flang/lib/Semantics canonicalize-omp.cpp, flang/test/Semantics/OpenMP metadirective-declare-reduction-v52.f90 metadirective-declare-reduction-v51.f90

Missing AT is equivalent to AT(COMPILATION)
DeltaFile
+8-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+8-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+1-0flang/lib/Semantics/canonicalize-omp.cpp
+17-03 files

LLVM/project 9dd4103 — llvm/lib/Bitcode/Writer BitcodeWriter.cpp

[BitcodeWriter] Remove support for fneg constant expression (NFC) (#235710)

fneg constant expressions are no longer supported, so can never
be written to bitcode.
DeltaFile
+0-10llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+0-101 files

HardenedBSD/ports 0fbaeb9 — misc/mcp-inspector distinfo.powerpc64le distinfo.powerpc64, sysutils/budgie-control-center pkg-plist

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+0-893x11/budgie-desktop/files/patch-update-libxfce4windowing-vapi.patch
+0-336x11-wm/magpie/pkg-plist
+153-139misc/mcp-inspector/distinfo.powerpc64le
+153-139misc/mcp-inspector/distinfo.powerpc64
+0-240x11/budgie-desktop/pkg-plist
+0-207sysutils/budgie-control-center/pkg-plist
+306-1,954140 files not shown
+860-4,085146 files

LLVM/project 761758f — llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp

[SCEV] Use willNotOverflow() for IV increment nuw/nsw (NFCI) (#235700)

IsIncrementNSW/IsIncrementNUW check for nsw/nuw in the same way
as willNotOverflow(), so reuse the helper.
DeltaFile
+9-33llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+9-331 files

LLVM/project ee7a19d — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp CIRTypes.cpp

[CIR] Admit only CIR types as nested CIR types

FuncType::verify required every type reachable from a signature to be a
CIR type, and proved it with a deep walk on every !cir.func construction.
#232863 memoized the walk in the dialect behind a mutex, but a record
that is still incomplete cannot be cached, and during CIRGen most of them
are.

The walk was needed because !cir.ptr, !cir.array, !cir.data_member,
!cir.bitfield and the record types took unconstrained mlir::Type
parameters. Constrain them to CIR types instead. Each type then checks
only its own parameters, a CIR type holds only CIR types at any depth,
and FuncType::verify checks only its inputs and result. The walk, the
cache and the mutex go away.

- Pointee and data member types use a new CIR_DialectType constraint,
  and the array element constraint now requires it too.
- Bit-field storage and record members are checked in their verifiers.
  Union padding is already limited to !u8i.

    [17 lines not shown]
DeltaFile
+111-0clang/unittests/CIR/RecordTypeVerifyTest.cpp
+47-0clang/test/CIR/IR/invalid-nested-types.cir
+21-21clang/include/clang/CIR/Dialect/IR/CIROps.td
+26-16clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+0-34clang/test/CIR/IR/invalid-func.cir
+1-28clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+206-998 files not shown
+255-12714 files

LLVM/project 74c6073 — clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp

[CIR][AArch64] Use CIR float types in getSVEType (#233896)

getSVEType built the bf16 and f32 vectors from mlir::Builder's
getBF16Type() and getF32Type(), which return builtin MLIR types.
!cir.vector only accepts CIR element types, so an assertions build
aborts in VectorType::get and a release build creates an invalid type.
Use getBfloat16Ty() and getSingleTy(), as the f16 and f64 cases do.

No SVE builtin reaches these cases yet, so a lit test can't cover them.
Instead, CIRBaseBuilderTy now deletes mlir::Builder's builtin float
getters, so this mistake fails to compile.

Assisted-by: Claude Code (Claude Opus 5.5)
DeltaFile
+10-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+2-2clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+12-22 files

HardenedBSD/ports 734848d — devel/got Makefile distinfo, devel/got/files patch-regress_cmdline_blame.sh

devel/got: update to 0.130.1

User-visible changes:
- default to using SHA256 object IDs in newly created repositories

The got-portable-0.130 release accidentally skipped some commits
from got 0.130.
DeltaFile
+0-12devel/got/files/patch-regress_cmdline_blame.sh
+3-3devel/got/distinfo
+1-1devel/got/Makefile
+4-163 files

FreeBSD/ports 734848d — devel/got Makefile distinfo, devel/got/files patch-regress_cmdline_blame.sh

devel/got: update to 0.130.1

User-visible changes:
- default to using SHA256 object IDs in newly created repositories

The got-portable-0.130 release accidentally skipped some commits
from got 0.130.
DeltaFile
+0-12devel/got/files/patch-regress_cmdline_blame.sh
+3-3devel/got/distinfo
+1-1devel/got/Makefile
+4-163 files

LLVM/project 0a371f1 — flang/include/flang/Evaluate tools.h

gcc-11 build fix
DeltaFile
+4-5flang/include/flang/Evaluate/tools.h
+4-51 files

LLVM/project 4ba39d8 — llvm/lib/IR Value.cpp

[IR] Remove redundant function return alignment check (NFC) (#235690)

getRetAlign() on CallBase already falls back to the alignment of
the callee function, no need to do it again here.
DeltaFile
+1-4llvm/lib/IR/Value.cpp
+1-41 files

LLVM/project 0444c35 — llvm/lib/IR Value.cpp

[IR] Deduplicate !dereferenceable handling for load and inttoptr (NFC) (#235693)

This is exactly the same, handle it with a common code path.
DeltaFile
+4-16llvm/lib/IR/Value.cpp
+4-161 files

LLVM/project aa184f5 — mlir/lib/Conversion/TosaToLinalg TosaToLinalg.cpp, mlir/test/Conversion/TosaToLinalg tosa-to-linalg.mlir

[mlir][tosa] Add tosa.argmin lowering to Linalg (#233754)

Add ArgMinConverter following the existing ArgMaxConverter, including
reduction initialization and pattern registration.

Add conversion tests covering static and dynamic shapes, NaN modes, f16
inputs, and i64 indices.

Assisted-by: Codex
DeltaFile
+346-28mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
+70-56mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
+416-842 files

LLVM/project fca2e8a — llvm/include/llvm/IR Intrinsics.td, llvm/lib/Analysis BasicAliasAnalysis.cpp

[IR][BasicAA] Move guard/deoptimize memory effects to declaration (#235687)

Nowadays we can express these memory effects using `IntrWrite<>`, so
move them to the intrinsic declaration in TableGen instead of
special-casing them in BasicAA.
DeltaFile
+6-4llvm/include/llvm/IR/Intrinsics.td
+0-9llvm/lib/Analysis/BasicAliasAnalysis.cpp
+2-2llvm/test/Transforms/Inline/deoptimize-intrinsic-attrs.ll
+1-1llvm/unittests/IR/IntrinsicsTest.cpp
+9-164 files

LLVM/project 2316b29 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel rv64-float-convert.ll rv64-double-convert.ll

[RISCV][GlobalISel] Support G_FPTOSI_SAT/G_FPTOUI_SAT (#234885)

RISC-V `fcvt` already saturates, so unlike G_FPTOSI/G_FPTOUI no libcalls
are needed, but it yields all-ones for NaN instead of 0. The native
cases get a custom legalization that adds a compare and a select,
mirroring lowerFP_TO_INT_SAT, using the new G_FCVT_X/G_FCVT_XU pseudos
selected through the existing `riscv_fcvt_x[u]` patterns. f16 sources
without Zfh are widened to f32 first; the remaining scalar cases use the
generic clamping lowering. 

Adds the `_sat` cases to the existing GlobalISel `*-convert.ll` tests
and updates `legalizer-info-validation.mir`.
DeltaFile
+1,665-0llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
+1,452-0llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
+1,190-0llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
+195-3llvm/test/CodeGen/RISCV/GlobalISel/rv64-double-convert.ll
+189-3llvm/test/CodeGen/RISCV/GlobalISel/rv64-float-convert.ll
+52-0llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+4,743-63 files not shown
+4,772-109 files

LLVM/project a070233 — lld/ELF LTO.cpp, lld/test/ELF/lto basic-block-sections-missing.ll

[lld][ELF]: Fix crash when a basic-block sections profile doesn't exist (#226522)

I ran into this crash while linking ONNX Runtime with ThinLTO after
passing a nonexistent path to `--lto-basic-block-sections`. lld reported
that it could not open the profile, but then crashed instead of exiting
with an error.

The failed read leaves `BBSectionsFuncListBuf` null, but `createConfig`
still sets `BBSections` to `List`. The LTO backend then constructs a
basic-block sections profile reader with that null buffer.

This change enables `List` mode only after the profile has been read
successfully, leaving the existing error reporting in place.

The regression test uses a minimal `_start` definition and a nonexistent
profile path to cover both full LTO and ThinLTO.

AI assistance: LLM-aided investigation and testing
DeltaFile
+14-0lld/test/ELF/lto/basic-block-sections-missing.ll
+1-1lld/ELF/LTO.cpp
+15-12 files

LLVM/project bcd5966 — flang/include/flang/Optimizer/Dialect FIROpsSupport.h, flang/lib/Lower Bridge.cpp

[flang] Trust the lowering symbol table in the FirOpBuilder lookups (#232678)

Lowering's `FirOpBuilder::getNamedGlobal` / `getNamedFunction` (and
`fir::createFuncOp`, `createGlobalOp`, `lookupTypeInfoOp`) fall back to
a linear `ModuleOp::lookupSymbol` walk whenever the bridge's
`mlir::SymbolTable` misses, and every new global is a miss. For a unit
that reaches N derived types (about 25 `linkonce_odr` type-info globals
each), lowering walks the module once per global: O(N^2) again, after
#232555 removed the larger codegen term.

The fallback existed because the table was not complete:
`fir::createFuncOp` took it by const pointer and never inserted the
function it created, so every runtime, intrinsic and procedure
declaration bypassed it, and three sites in OpenACC/OpenMP lowering
created `func.func` directly. This PR makes the table complete (creation
helpers insert what they create; the direct creations register through a
new `fir::registerSymbol`, which never renames on a clash; the sham
function of `createBuilderOutsideOfFuncOpAndDo` is erased through the
table) and then lets the lookups trust it. Under `EXPENSIVE_CHECKS`

    [3 lines not shown]
DeltaFile
+26-25flang/lib/Optimizer/Builder/FIRBuilder.cpp
+33-14flang/lib/Optimizer/Dialect/FIROps.cpp
+19-6flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
+24-0flang/test/Lower/duplicate-global-identifier.f90
+10-5flang/lib/Lower/Bridge.cpp
+8-3flang/lib/Optimizer/Support/Utils.cpp
+120-535 files not shown
+136-6711 files

LLVM/project 145cd8a — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64SVEInstrInfo.td, llvm/test/CodeGen/AArch64 sve-intrinsics-and-not.ll

[AArch64][llvm] Combine SVE AND-NOT operations into BIC for _x forms (#232526)

Replace `not` followed by `and` with `bic` for expressions such as:
```
  return svand_u32_x(svptrue_b32(), a, svnot_u32_x(svptrue_b32(), b));
```
Combine ordinary `and` with `not` when the `not` predicate is all-active
or its inactive values are undefined.

Also combine matching-predicate SVE `and_x`-`not` pairs before lowering
discards the `and` predicate. `and_x` ignores inactive results, so the
`not`'s inactive values do not need preserving.

This applies to all integer element widths. Update the pre-commit LLVM
expectations, including cases where combining would change the
result.
DeltaFile
+38-169llvm/test/CodeGen/AArch64/sve-intrinsics-and-not.ll
+57-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+2-2llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+97-1713 files

LLVM/project 0a6c7b2 — llvm/lib/Target/AArch64 AArch64SVEInstrInfo.td, llvm/test/CodeGen/AArch64 sve-intrinsics-and-not.ll

[AArch64][llvm] Combine SVE AND-NOT operations into BIC for _m forms (#232527)

Replace `not` followed by merging `and` with `bic` for expressions such
as:
```
  return svand_u32_m(pg, a, svnot_u32_x(pg, b));
```
Combine when `not` is the second operand and its predicate matches the
`and` predicate or is all-active.

Use predicated `bic` to preserve the `and`'s first operand in inactive
lanes. Use unpredicated `bic` when the `and` predicate is all-active.

Do not commute merging `and` operands, since this would change inactive
results. Leave pairs with incompatible predicates unchanged.

This applies to all integer element widths. Update the pre-commit LLVM
expectations, including cases where combining would change the
result.
DeltaFile
+12-48llvm/test/CodeGen/AArch64/sve-intrinsics-and-not.ll
+20-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+32-482 files

LLVM/project 2cd4242 — llvm/test/CodeGen/AArch64 sve-intrinsics-and-not.ll

[AArch64][llvm] NFC: Add pre-commit tests for SVE AND-NOT combining (#232525)

Add LLVM tests for expressions where NOT followed by AND could
use BIC. Record the existing assembly so the following changes show the
missed optimisations being fixed.

Cover _x and _m AND forms using all-active and runtime predicates. Test
_m forms across all integer element widths. Include NOT with defined
inactive values and reversed AND operands.

Also test cases that must remain as NOT followed by AND because
combining would change the values in inactive lanes.
DeltaFile
+462-0llvm/test/CodeGen/AArch64/sve-intrinsics-and-not.ll
+462-01 files

LLVM/project 9ff9476 — llvm/lib/Transforms/Utils InlineFunction.cpp

[InlineFunction] Simplify lifetime intrinsic check (NFC) (#235681)

The pointer type check always passes since the opaque pointers
migration. Additionally, we nowadays require that lifetime
intrinsics are direct users of the alloca.
DeltaFile
+1-28llvm/lib/Transforms/Utils/InlineFunction.cpp
+1-281 files

FreeBSD/src ae99c82 — usr.bin/locate/locate locate.1

locate.1: clarify bytes vs. characters

The database stores bytes, not characters. Remove the historical
note about 7-bit storage. Also document that -i ignores case only
for ASCII letters.

Reviewed by: ziaee
MFC after: 3 days

(cherry picked from commit a03b051f238eb78cfccbe834b0cc206e66d566e5)
DeltaFile
+12-9usr.bin/locate/locate/locate.1
+12-91 files

LLVM/project a938710 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt epoll_pwait2.h, libc/src/sys/epoll/linux epoll_pwait2.cpp CMakeLists.txt

[libc] Use a syscall wrapper for
DeltaFile
+40-23utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+42-0libc/src/__support/OSUtil/linux/syscall_wrappers/epoll_pwait2.h
+18-18libc/src/sys/epoll/linux/CMakeLists.txt
+7-15libc/src/sys/epoll/linux/epoll_pwait2.cpp
+16-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+123-565 files

FreeBSD/src 4b0fb44 — usr.bin/find find.1

find.1: rewrite the -s flag section for clarity

Restructure the description of -s flag:
1. what the option does
2. why it is useful (deterministic order, streaming output)
3. how its results can differ from `find | sort'

Reviewed by: ziaee
MFC after: 3 days

(cherry picked from commit ad0f86694157c998fec500e9a553550976cbc100)
DeltaFile
+31-10usr.bin/find/find.1
+31-101 files

LLVM/project bdabd18 — llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp AArch64InstrAtomics.td, llvm/test/CodeGen/AArch64 rcpc3.ll

[AArch64] Support FP atomic stores with memory hints

This patch extends the atomic-store-hint pseudos to accept preserved
floating-point atomic stores. It adds an FPR16 pseudo family and direct
half, bfloat, float, and double patterns for the supported addressing
modes.

The pseudos expand relaxed stores to STR and RCPC3 release and
sequentially consistent stores to STLUR, retaining memory hints without
cross-register-bank copies.

The existing AArch64::ATOMIC_STORE_HINT_H is renamed to
AArch64::ATOMIC_STORE_HINT_HH and AArch64::ATOMIC_STORE_HINT_H now means
FP16 instead of it's old association with integer half-word.
DeltaFile
+145-0llvm/test/CodeGen/AArch64/rcpc3.ll
+65-6llvm/lib/Target/AArch64/AArch64InstrAtomics.td
+43-11llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+8-24llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
+2-6llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
+4-4llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
+267-512 files not shown
+273-588 files

FreeBSD/src 50bc1b8 — usr.bin/find find.1

find.1: fix rendering of find -s example

The period here is part of the literal string in the example.  Adding a
space caused the example to be quoted wrongly.  Instead, a trailing
zero-width space keeps the linter mandoc -T happy.

Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D59353

(cherry picked from commit 3581b6db62b1a2146014b3196f18bde3fc33010d)
DeltaFile
+2-2usr.bin/find/find.1
+2-21 files

LLVM/project fda1a29 — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrAtomics.td, llvm/test/CodeGen/AArch64 rcpc3.ll atomic-fp-cast.ll

[AArch64] Support direct RCPC3 FP atomic loads and stores

Preserve half, bfloat, float, and double atomic loads and stores
through AtomicExpand for acquire and release orderings, and preserve
sequentially consistent stores, when RCPC3 and NEON are available.

Add SelectionDAG patterns for the RCPC3 LDAPUR and STLUR operations,
including unscaled offsets, and update the existing FP lane patterns to
match the preserved floating-point atomic nodes. Targets without the
required features continue to use integer lowering.
DeltaFile
+182-0llvm/test/CodeGen/AArch64/atomic-fp-store.ll
+118-0llvm/test/CodeGen/AArch64/atomic-fp-load.ll
+65-8llvm/lib/Target/AArch64/AArch64InstrAtomics.td
+45-5llvm/test/CodeGen/AArch64/atomic-fp-cast.ll
+20-12llvm/test/CodeGen/AArch64/rcpc3.ll
+9-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+439-256 files