HardenedBSD/src 5d1b670 — . .cirrus.yml, lib/clang/libllvm Makefile

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+270-0lib/libkvm/kvm_minidump_powerpc64_radix.c
+0-237.cirrus.yml
+185-0lib/libkvm/tests/kvm_open2_test.c
+160-0sys/powerpc/aim/mmu_radix.c
+49-6lib/clang/libllvm/Makefile
+18-12sys/netinet6/nd6.c
+682-25534 files not shown
+824-34240 files

HardenedBSD/src a9886a3 — . .cirrus.yml, lib/clang/libllvm Makefile

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+270-0lib/libkvm/kvm_minidump_powerpc64_radix.c
+0-237.cirrus.yml
+185-0lib/libkvm/tests/kvm_open2_test.c
+160-0sys/powerpc/aim/mmu_radix.c
+49-6lib/clang/libllvm/Makefile
+18-12sys/netinet6/nd6.c
+682-25534 files not shown
+824-34240 files

HardenedBSD/src 5a6d306 — share/man/man4 ktls.4, sys/cddl/dev/dtrace/aarch64 dtrace_asm.S

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+124-37tests/sys/kern/ktls_test.c
+9-5sys/cddl/dev/dtrace/aarch64/dtrace_asm.S
+8-3sys/kern/uipc_ktls.c
+3-1share/man/man4/ktls.4
+4-0sys/netinet6/udp6_usrreq.c
+2-0sys/kern/kern_proc.c
+150-461 files not shown
+151-477 files

HardenedBSD/src 72403c6 — . .cirrus.yml, lib/clang/libllvm Makefile

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+270-0lib/libkvm/kvm_minidump_powerpc64_radix.c
+0-237.cirrus.yml
+185-0lib/libkvm/tests/kvm_open2_test.c
+160-0sys/powerpc/aim/mmu_radix.c
+49-6lib/clang/libllvm/Makefile
+18-12sys/netinet6/nd6.c
+682-25534 files not shown
+824-34240 files

HardenedBSD/src c1363f9 — share/man/man4 ktls.4, sys/cddl/dev/dtrace/aarch64 dtrace_asm.S

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+124-37tests/sys/kern/ktls_test.c
+9-5sys/cddl/dev/dtrace/aarch64/dtrace_asm.S
+8-3sys/kern/uipc_ktls.c
+3-1share/man/man4/ktls.4
+4-0sys/netinet6/udp6_usrreq.c
+2-0sys/kern/kern_proc.c
+150-461 files not shown
+151-477 files

HardenedBSD/ports 78b80ef — . UPDATING, dns/knot3 Makefile pkg-plist

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+14-14net/zsync/Makefile
+13-13dns/knot3/pkg-plist
+12-11dns/knot3/Makefile
+0-20textproc/redisearch2/files/patch-deps_rmutil_rm__assert.h
+13-6net/freerdp3/Makefile
+16-0UPDATING
+68-6492 files not shown
+343-27698 files

LLVM/project 111f1d4 — clang/include/clang/AST ASTConcept.h, clang/lib/Sema SemaConcept.cpp

[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#226653)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast on
UnsatisfiedConstraintRecord because it is always nonnull.
Specifically, ConstraintSatisfaction::Details only receives nonnull
pointers in the following places:

- ASTNodeImporter::ImportConstraintSatisfaction
- ConstraintSatisfactionChecker::consumeSFINAEFailure
- ConstraintSatisfactionChecker::EvaluateSlow
- ConstraintSatisfactionChecker::Evaluate
- readConstraintSatisfaction

Assisted-by: Antigravity
DeltaFile
+1-3clang/lib/Sema/SemaConcept.cpp
+1-1clang/include/clang/AST/ASTConcept.h
+2-42 files

LLVM/project d1133c1 — lldb/source/Plugins/TypeSystem CMakeLists.txt, lldb/source/Plugins/TypeSystem/Clike CMakeLists.txt TypeSystemClike.h

[lldb][Clike][NFC] Add the TypeSystemClike plugin skeleton (#222611)

Introduces an empty TypeSystem plugin infrastructure for the new
TypeSystemClike.

For the RFC with more information and background, see
https://discourse.llvm.org/t/rfc-a-faster-more-reliable-type-system-for-c-languages/91459
and #225371

assisted-by: claude
DeltaFile
+478-0lldb/source/Plugins/TypeSystem/Clike/TypeSystemClike.cpp
+200-0lldb/source/Plugins/TypeSystem/Clike/TypeSystemClike.h
+10-0lldb/source/Plugins/TypeSystem/Clike/CMakeLists.txt
+1-0lldb/source/Plugins/TypeSystem/CMakeLists.txt
+689-04 files

LLVM/project e40e0bc — llvm/test/tools/llubi intr_speculative_load.ll intr_speculative_load_ub.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for llvm.speculative.load. (#226839)

Implement the direct form of llvm.speculative.load, where the number of
accessible bytes N is passed as an i64. Only the N accessible bytes are
read from memory and they must be in bounds of the underlying object;
all other bytes are poison. With from_end, the accessible bytes are the
last N bytes of the loaded value. It is UB if N is poison or exceeds the
size of the loaded type.

Support for the oracle form will be added as follow-up.

PR: https://github.com/llvm/llvm-project/pull/226839
DeltaFile
+86-0llvm/test/tools/llubi/intr_speculative_load_ub.ll
+56-0llvm/test/tools/llubi/intr_speculative_load.ll
+48-0llvm/tools/llubi/lib/Interpreter.cpp
+190-03 files

LLVM/project 26033a3 — clang/test/Driver riscv64-toolchain-extra.c riscv32-toolchain-extra.c

[clang][test] Pass -resource-dir in riscv*-toolchain-extra.c tests (#226952)

Fixes issue reported in
https://github.com/llvm/llvm-project/pull/216996#issuecomment-5846218483

These tests check that, with no GCC installation, the driver finds the
linker, crt0 and sysroot relative to its own bin/ directory. The
compiler-rt paths come from the resource directory, which the tests did
not specify, so they relied on the build's CLANG_RESOURCE_DIR placing it
within the fake toolchain tree.

With a relative CLANG_RESOURCE_DIR containing several "..", e.g.
../../../../lib/clang/24 as used by Gentoo, the resource directory
resolves outside of the test tree. This previously passed only because
the unnormalized path still contained "riscv64-nogcc/". Since
99988429d395 removed the dots from the path, the checks fail.

Pass an explicit -resource-dir within the test tree so the tests don't
depend on the build configuration.

Claude Code helped with this.
DeltaFile
+3-3clang/test/Driver/riscv64-toolchain-extra.c
+3-3clang/test/Driver/riscv32-toolchain-extra.c
+6-62 files

LLVM/project f32a45c — clang/test/CodeGen/AArch64/sve dup.c len.c

[clang][CIR] Add missing return stmt in tests (#226534)

This PR makes sure that tests in:
  * clang/test/CodeGen/AArch64/sve/

follow the format previously establised in:
  * clang/test/CodeGen/AArch64/sve-intrinsics/
DeltaFile
+12-0clang/test/CodeGen/AArch64/sve/len.c
+3-3clang/test/CodeGen/AArch64/sve/dup.c
+15-32 files

LLVM/project 9b9885d — llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine truncating-saturate.ll

[InstCombine] Handle sext/zext of i1 "selects" in canonicalizeClampLike
DeltaFile
+17-25llvm/test/Transforms/InstCombine/truncating-saturate.ll
+3-3llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+20-282 files

LLVM/project e8ba6bd — llvm/test/Transforms/InstCombine truncating-saturate.ll

Precommit test
DeltaFile
+34-0llvm/test/Transforms/InstCombine/truncating-saturate.ll
+34-01 files

LLVM/project fd7df11 — llvm/lib/Transforms/Scalar GVN.cpp, llvm/test/Transforms/GVN/PRE loop-load-pre-vectorization.ll

[GVN] Preserve vectorization opportunities when PREing loop loads

Loop load PRE can replace an invariant-address load with a loop-carried
PHI and conditional reload after a may-alias store. That scalar recurrence
can prevent vectorization even when runtime alias checks could disambiguate
the original accesses. Subsequent full unrolling then expands scalar code.

Conservatively preserve the header load in innermost loops whose clobber
is a conditional may-alias store through a varying pointer. Keep existing
PRE behavior for invariant-address clobbers, known aliasing, calls, ordered
memory operations, and loops with vectorization disabled or completed.
This is an opportunity heuristic, not a vectorization legality proof.
DeltaFile
+582-0llvm/test/Transforms/GVN/PRE/loop-load-pre-vectorization.ll
+55-0llvm/lib/Transforms/Scalar/GVN.cpp
+637-02 files

LLVM/project dee78e3 — clang/test/CodeGen msp430-register-names.c, llvm/test/CodeGen/AArch64 aarch64-za-clobber.ll aarch64-sme2-asm.ll

CodeGen: Mark inline asm clobber defs dead (#227026)

A clobber operand has no value associated with it, so the def is always
dead. Set the flag where the INLINEASM is built instead of relying on
later inference.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+64-64llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
+16-16clang/test/CodeGen/msp430-register-names.c
+3-5llvm/test/CodeGen/PowerPC/pr47155-47156.ll
+3-3llvm/test/CodeGen/X86/inline-asm-avx512f-x-constraint.ll
+3-3llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
+2-2llvm/test/CodeGen/AArch64/aarch64-za-clobber.ll
+91-937 files not shown
+98-9813 files

LLVM/project 407f8a1 — clang/lib/Driver/ToolChains Hexagon.cpp, clang/test/Driver hexagon-eh-frame-pic.c

[Hexagon][Driver] Tell llvm-mc about PIC under -fno-integrated-as (#213821)

Hexagon picks the .eh_frame FDE pointer encoding from whether the code
is position independent: DW_EH_PE_pcrel if so, DW_EH_PE_absptr otherwise
(MCObjectFileInfo::initELFMCObjectFileInfo). Unlike most targets,
Hexagon uses llvm-mc rather than GNU as for -fno-integrated-as, and the
driver was not passing the PIC setting along. llvm-mc defaults to
non-PIC, so the same source assembled the two ways produced different
unwind tables: the integrated assembler emitted R_HEX_32_PCREL, while
-fno-integrated-as emitted R_HEX_32 with an absptr CIE augmentation.

hexagon-unknown-linux-musl defaults to PIC, so it was the default config
that diverged.

Pass -position-independent to llvm-mc when the relocation model is PIC.
Non-PIC keeps DW_EH_PE_absptr, unchanged.
DeltaFile
+22-0clang/test/Driver/hexagon-eh-frame-pic.c
+21-0llvm/test/MC/Hexagon/eh-frame.s
+3-0clang/lib/Driver/ToolChains/Hexagon.cpp
+46-03 files

LLVM/project 3e2eb4a — llvm/lib/Target/X86 X86FastISel.cpp

Comment
DeltaFile
+1-1llvm/lib/Target/X86/X86FastISel.cpp
+1-11 files

OpenZFS/src 81b19c6 — config rpm.am

rpm: Generate initial rpm configure cache file from existing cache

The rpmbuild can not use the existing configure cache generated by the
initial configure run because the build/host/target is likely different.
More generally configure's "precious" variables have different values
or states. However, the rest of the initial cache file can be reused.
This is the bulk of the processing in configure anyway. Also, for the
same reason, caches can not be shared between rpmbuilds either.

Generate the initial rpm configure cache file by taking the initial
configure cache and excluding the precious variables. If the rpm
configure already exists, reuse it but remove the undesired variables.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Glenn Washburn <development at efficientek.com>
Closes #19168
DeltaFile
+15-1config/rpm.am
+15-11 files

OpenZFS/src 9d5af5e — config zfs-build.m4

rpm: Rename CONFCACHE_FILE to RPM_CONFCACHE

This configure cache file is specific to rpm builds and should be
labeled appropriately.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Glenn Washburn <development at efficientek.com>
Closes #19168
DeltaFile
+4-4config/zfs-build.m4
+4-41 files

LLVM/project c4c1cbb — llvm/lib/Target/NVPTX NVPTXISelLowering.cpp, llvm/lib/Target/X86 X86ISelLowering.cpp

[X86][NVPTX] Use `m_Value(N, Pattern)` overload to simplify matching. (#226621)

Replace the `m_AllOf(Pattern, m_Value(N))` idiom (match-and-bind) with
the `m_Value(N, Pattern)` overload.
DeltaFile
+24-28llvm/lib/Target/X86/X86ISelLowering.cpp
+3-4llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+27-322 files

OpenZFS/src 497e077 — rpm/generic zfs.spec.in, rpm/redhat zfs-kmod.spec.in

rpm: Enable configure caching for redhat kmod and zfs user packages

These were missed in 0eff7a30b82e (rpm: Add configure caching if used
in main configure run).

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Glenn Washburn <development at efficientek.com>
Closes #19168
DeltaFile
+1-0rpm/redhat/zfs-kmod.spec.in
+1-0rpm/generic/zfs.spec.in
+2-02 files

FreeBSD/src 34b00ed — sys/dev/hwpmc hwpmc_ibs.c

hwpmc: fix IBS fetch and op NMI handling

Service each IBS unit with a valid bit set when fetch and op share an
NMI. Otherwise, op samples can be lost. Treat the extra NMI that follows
as expected (skip it).

Reviewed by:    mhorne
Fixes:  e51ef8ae490f ("hwpmc: Initial support for AMD IBS")
Differential Revision:  https://reviews.freebsd.org/D60004
DeltaFile
+20-3sys/dev/hwpmc/hwpmc_ibs.c
+20-31 files

HardenedBSD/src 34b00ed — sys/dev/hwpmc hwpmc_ibs.c

hwpmc: fix IBS fetch and op NMI handling

Service each IBS unit with a valid bit set when fetch and op share an
NMI. Otherwise, op samples can be lost. Treat the extra NMI that follows
as expected (skip it).

Reviewed by:    mhorne
Fixes:  e51ef8ae490f ("hwpmc: Initial support for AMD IBS")
Differential Revision:  https://reviews.freebsd.org/D60004
DeltaFile
+20-3sys/dev/hwpmc/hwpmc_ibs.c
+20-31 files

LLVM/project a6eedcc — llvm/test/CodeGen/AMDGPU isel-amdgpu-cs-chain-cc.ll, llvm/test/CodeGen/AMDGPU/GlobalISel irtranslator-call-abi-attribute-hints.ll dereferenceable-declaration.ll

AMDGPU: Mark the return address def of SI_CALL dead

The call writes the return address but nothing in the local function reads
the new value. Avoid needing to recover the dead flag later.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+93-93llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
+50-50llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
+36-36llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
+20-20llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
+10-10llvm/test/CodeGen/AMDGPU/GlobalISel/dereferenceable-declaration.ll
+6-6llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
+215-21514 files not shown
+246-24520 files

LLVM/project aa113d9 — llvm/lib/Target/X86 X86FastISel.cpp, llvm/test/CodeGen/X86 fast-isel-shift.ll

X86: Mark the EFLAGS def of FastISel selected shifts dead

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+74-0llvm/test/CodeGen/X86/fast-isel-shift.ll
+2-1llvm/lib/Target/X86/X86FastISel.cpp
+76-12 files

LLVM/project 03cb1db — mlir/include/mlir/IR SymbolTable.h, mlir/lib/IR SymbolTable.cpp

[mlir] `remove-dead-values`: properly handle symbol users outside of a pass root. (#225355)

Follow up to the
https://github.com/llvm/llvm-project/pull/224831#pullrequestreview-5262450200
comment.

Add `areAllUsesVisible` query to the `SymbolUserMap` to check is all
users are visible and use it in `remove-dead-values`.
DeltaFile
+114-0mlir/test/Transforms/remove-dead-values-symbol-scope.mlir
+69-0mlir/unittests/IR/SymbolTableTest.cpp
+15-5mlir/lib/IR/SymbolTable.cpp
+12-3mlir/include/mlir/IR/SymbolTable.h
+6-3mlir/lib/Transforms/RemoveDeadValues.cpp
+216-115 files

LLVM/project 5d23afa — llvm/lib/Target/AMDGPU SIWholeQuadMode.cpp, llvm/test/CodeGen/AMDGPU wqm-terminators.mir wqm-debug-instr.mir

AMDGPU: Mark SCC defs dead in SIWholeQuadMode state transitions (#227015)

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+10-10llvm/test/CodeGen/AMDGPU/wqm.mir
+13-7llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
+4-4llvm/test/CodeGen/AMDGPU/wqm-propagate-for-execz-side-effect.mir
+4-4llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
+3-3llvm/test/CodeGen/AMDGPU/wqm-debug-instr.mir
+2-2llvm/test/CodeGen/AMDGPU/wqm-terminators.mir
+36-302 files not shown
+39-338 files

LLVM/project 0d59780 — clang-tools-extra/docs/clang-tidy/checks/readability redundant-lambda-parameter-list.md redundant-string-init.md

[clang-tidy][docs] Rewrite readability check docs to Markdown [4/5] (#221641)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the fourth part of rewriting check documentations in readability
module from reST to MyST Markdown.

AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted (both Codex and AmpCode) cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html

    [3 lines not shown]
DeltaFile
+96-102clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.md
+44-45clang-tools-extra/docs/clang-tidy/checks/readability/redundant-preprocessor.md
+37-39clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.md
+37-38clang-tools-extra/docs/clang-tidy/checks/readability/redundant-nested-if.md
+27-30clang-tools-extra/docs/clang-tidy/checks/readability/redundant-string-init.md
+24-24clang-tools-extra/docs/clang-tidy/checks/readability/redundant-lambda-parameter-list.md
+265-2784 files not shown
+338-35310 files

LLVM/project 2190e84 — clang-tools-extra/docs/clang-tidy/checks/readability redundant-nested-if.rst redundant-nested-if.md

[clang-tidy][docs] Rename readability check docs to Markdown [4/5] (#221640)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the fourth part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.
DeltaFile
+0-125clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.rst
+125-0clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.md
+0-61clang-tools-extra/docs/clang-tidy/checks/readability/redundant-preprocessor.rst
+61-0clang-tools-extra/docs/clang-tidy/checks/readability/redundant-preprocessor.md
+0-59clang-tools-extra/docs/clang-tidy/checks/readability/redundant-nested-if.rst
+59-0clang-tools-extra/docs/clang-tidy/checks/readability/redundant-nested-if.md
+245-24514 files not shown
+507-50720 files

LLVM/project 07c8252 — llvm/lib/Target/X86 X86FastISel.cpp, llvm/test/CodeGen/X86 fast-isel-sext-dead-eflags.ll

X86: Mark EFLAGS dead on the NEG8r for sext from i1 in fast isel

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+18-0llvm/test/CodeGen/X86/fast-isel-sext-dead-eflags.ll
+3-1llvm/lib/Target/X86/X86FastISel.cpp
+21-12 files