LLVM/project 33cbf68 — llvm/runtimes CMakeLists.txt

[runtimes] Add llvm-dis to compiler-rt test dependency (#227212)

A recent commit 9a0c255ce1ef introduced dependency on llvm-dis to
compiler-rt test instrprof-thinlto-indirect-call-promotion.cpp. This
caused error "llvm-dis: command not found" in CI testing. Fix by adding
llvm-dis to the dependency list for compiler-rt test.
DeltaFile
+12-7llvm/runtimes/CMakeLists.txt
+12-71 files

LLVM/project 9f54efd — orc-rt/test/regression/languages/c/addressing global-function-pointer-in-data-cross-obj.test static-function-tail-call.c, orc-rt/test/regression/languages/c/addressing/cross-object global-array-element-pointer-in-data.test global-function-tail-call.test

[orc-rt] Flatten C addressing regression tests. NFC. (#227529)

Move the tests out of same-object/ and cross-object/ subdirectories into
addressing/, and mark tests of references to entities in other objects
with a -cross-obj suffix. This keeps the variants of a construct
together, e.g. global-function-call.c next to
global-function-call-cross-obj.test, so gaps in coverage are easier to
spot.
DeltaFile
+0-32orc-rt/test/regression/languages/c/addressing/cross-object/global-function-tail-call.test
+32-0orc-rt/test/regression/languages/c/addressing/global-function-tail-call-cross-obj.test
+0-28orc-rt/test/regression/languages/c/addressing/same-object/static-function-tail-call.c
+0-28orc-rt/test/regression/languages/c/addressing/cross-object/global-array-element-pointer-in-data.test
+28-0orc-rt/test/regression/languages/c/addressing/global-function-pointer-in-data-cross-obj.test
+28-0orc-rt/test/regression/languages/c/addressing/static-function-tail-call.c
+88-8824 files not shown
+373-37330 files

LLVM/project 0285033 — llvm/lib/Target/SystemZ SystemZXPLINKAsmPrinter.h SystemZXPLINKAsmPrinter.cpp, llvm/test/CodeGen/SystemZ zos-celqmain-nomain.ll zos-celqmain-debug.ll

[SystemZ][z/OS] Emit CELQMAIN for a module defining main (#226710)

The Language Environment startup routine `CELQSTRT` finds the main
routine and its environment through `CELQMAIN`. clang does not emit it;
the driver links with `-u CELQMAIN`, which pulls the copy from
`SCEEBND2`. That copy is in NORENT format and refers to the symbol
`MAIN`, so a program built with clang does not start (U4093 reason 218,
or a protection exception because no WSA is allocated and the ADA offset
is used as an absolute address).

For a module that defines `main`, emit `CELQMAIN` in RENT format as
described in "z/OS Language Environment Vendor Interfaces", chapter
"Program initialization and termination for AMODE 64 applications", plus
a reference to the bootstrap routine `CELQBST`, which `CELQSTRT` only
references weakly. `CELQMAIN` gets OS linkage, because `CELQSTRT`,
`CELQINPL` and `CELQBST` reference it with OS linkage (otherwise the
binder reports IEW2469E).

With this change `int main(void) { return 42; }` bound with `ld -e

    [12 lines not shown]
DeltaFile
+54-0llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
+30-0llvm/test/CodeGen/SystemZ/zos-celqmain.ll
+29-0llvm/test/CodeGen/SystemZ/zos-celqmain-debug.ll
+13-0llvm/test/CodeGen/SystemZ/zos-celqmain-nomain.ll
+1-0llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.h
+127-05 files

FreeBSD/src c121ed3 — sys/compat/linuxkpi/common/src linux_pci.c

linuxkpi: Fix double-cleanup in linux_pci_attach_device() error path

(cherry picked from commit ac9c07a3e90888d69d0a524de520d4de8ae60de5)
DeltaFile
+7-12sys/compat/linuxkpi/common/src/linux_pci.c
+7-121 files

LLVM/project 9e42499 — libcxx/utils/ci/lnt machines.json

[libc++] Bump machines to latest test suite (#227528)

We recently merged some fixes for the test suite which should make the
comparisons more meaningful. Since we haven't re-generated anything
since the recent LNT machine bumps, re-bumping now should not cause any
churn.
DeltaFile
+8-8libcxx/utils/ci/lnt/machines.json
+8-81 files

LLVM/project a53f1a6 — clang/test/CodeGen/RISCV rvp-intrinsics.c, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll amdgcn.bitcast.1024bit.ll

Merge branch 'main' into users/aokblast/cir/type_deduction_lhs_fpbuiltinop
DeltaFile
+42,447-42,448llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+7,544-7,651llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+4,308-8,624clang/test/CodeGen/RISCV/rvp-intrinsics.c
+6,086-6,026llvm/test/CodeGen/RISCV/rvv/expandload.ll
+4,036-4,380llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+2,544-2,872llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+66,965-72,0013,429 files not shown
+238,311-173,7223,435 files

LLVM/project fddb78d — llvm/lib/Target/AMDGPU SIISelLowering.cpp SIFoldOperands.cpp, llvm/test/CodeGen/AMDGPU bf16-inline-const-opsel.ll

[AMDGPU] Fix inline constant for scalar_to_vector of bf16 math ops (#227479)

On targets with BF16InlineConstFromUpperFP32, an inline constant on a
packed bf16 instruction is expanded to FP32, so only a splat is
encodable and both lanes must use op_sel to read the upper half. Scalar
bf16 math lowers to V_PK_* with a dead high lane, so the constant
arrived as (scalar_to_vector bf16:c), which is not a splat yet still
looked inlinable and got folded without op_sel, reading the wrong half.

Combine (scalar_to_vector bf16:c) into a splat BUILD_VECTOR when c is an
inlinable bf16 constant on such subtargets, and in SIFoldOperands
disable the V2BF16 folding paths that would inline a literal without
op_sel. Also allow op_sel_lo on src1 in isOMod() for V_PK_MUL_BF16 so
omod folding still applies.

Fixes: LCOMPILER-2879 and ROCM-30938
DeltaFile
+193-0llvm/test/CodeGen/AMDGPU/bf16-inline-const-opsel.ll
+15-9llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+12-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+220-93 files

LLVM/project 18fb201 — lldb/source/Host/macosx PythonRuntimeLoaderDarwin.cpp

[lldb] Find Python relative to LLDB.framework on Darwin (again) (#227521)

The PythonRuntimeLoaderDarwin is responsible for finding the Python
library at runtime. Previously, this was using `DEVELOPER_DIR` and
`xcrun` to avoid having to hard-code the same list of relative paths
that we have as RPATHs for the non-dynamic interpreter build.

However, that leads to some tricky behavior when launching `lldb` with
our without `xcrun`. Combined with some odd path combinations, I changed
my mind and went back to mimicking the RPATH approach.

While I was at it, I also dropped the fallback for looking for Python in
/Applications/Xcode.app. That was always a hack, and now that we support
falling back to a Homebrew or Pyhthon.org installed Python.framework, I
think we should just rely on that.

rdar://188746227
DeltaFile
+43-89lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
+43-891 files

LLVM/project ccb1e29 — orc-rt/cmake OrcRTTesting.cmake

[orc-rt] Fix 80-col violations in CMake (#227525)
DeltaFile
+9-3orc-rt/cmake/OrcRTTesting.cmake
+9-31 files

LLVM/project a0e3ae7 — libcxx/docs index.md Modules.md

[libc++][docs] Convert documentation from reST to Markdown (batch 2) (#222064)

This is the second batch of changes to migrate libc++ documentation from
rst to markdown.

I use a local pixel diff tool to compare the rendered HTML, and all
diffs seem like fixes. They tend to fall into the following categories:

- dashed bullet lists were previously not rendered, but now they are
- extra indentation interpreted as blockquotes has been removed
- single backticks are now codefont spans, not italic spans

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #222062, which will be a standalone commit
that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
DeltaFile
+383-405libcxx/docs/VendorDocumentation.md
+320-353libcxx/docs/TestingLibcxx.md
+301-314libcxx/docs/Hardening.md
+220-221libcxx/docs/UserDocumentation.md
+201-200libcxx/docs/Modules.md
+125-143libcxx/docs/index.md
+1,550-1,6369 files not shown
+1,812-1,95315 files

LLVM/project b08d731 — libcxx/docs Hardening.rst Hardening.md

[libc++][docs] Rename documentation files to Markdown (batch 2) (#222062)

Tracking issue: #201242
See the [migration guide] for more information. 

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

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
DeltaFile
+0-676libcxx/docs/VendorDocumentation.rst
+676-0libcxx/docs/VendorDocumentation.md
+0-591libcxx/docs/TestingLibcxx.rst
+591-0libcxx/docs/TestingLibcxx.md
+0-576libcxx/docs/Hardening.rst
+576-0libcxx/docs/Hardening.md
+1,843-1,84325 files not shown
+3,490-3,49031 files

LLVM/project 851b198 — orc-rt/test/regression/languages/c/addressing/cross-object global-function-call.test hidden-function-call.test, orc-rt/test/regression/languages/c/addressing/same-object global-function-pointer-in-data.c static-function-tail-call.c

[orc-rt] Add C addressing regression tests for functions. (#227518)

Add tests that check that JIT'd C code can call functions, both in the
same object and in other objects: direct calls, calls through function
pointers stored in initialized data, and tail calls. The tail call tests
only run at -O2, since an unoptimized build may not emit tail calls.
DeltaFile
+32-0orc-rt/test/regression/languages/c/addressing/cross-object/global-function-tail-call.test
+28-0orc-rt/test/regression/languages/c/addressing/cross-object/global-function-pointer-in-data.test
+28-0orc-rt/test/regression/languages/c/addressing/same-object/static-function-tail-call.c
+27-0orc-rt/test/regression/languages/c/addressing/cross-object/hidden-function-call.test
+26-0orc-rt/test/regression/languages/c/addressing/cross-object/global-function-call.test
+24-0orc-rt/test/regression/languages/c/addressing/same-object/global-function-pointer-in-data.c
+165-02 files not shown
+209-08 files

LLVM/project fbb647b — llvm/utils/gn/secondary/llvm/test BUILD.gn

[gn] port 841433da7862 (#227524)
DeltaFile
+23-2llvm/utils/gn/secondary/llvm/test/BUILD.gn
+23-21 files

LLVM/project 22a246e — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen SlotIndexes.cpp

[SlotIndexes] Add queries for stale indexes

An erased instruction leaves its index list entry in place, making the
index indistinguishable from a block boundary entry. Add
isBlockBoundaryIndex() and isStaleIndex() to tell the two apart, and
canonicalizeIndex() to resolve a stale index to the closest preceding
instruction's register slot, or the block start if none survives.

NFC. No caller yet. LiveDebugVariables is next.
DeltaFile
+207-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+29-0llvm/lib/CodeGen/SlotIndexes.cpp
+14-0llvm/include/llvm/CodeGen/SlotIndexes.h
+1-0llvm/unittests/CodeGen/CMakeLists.txt
+251-04 files

LLVM/project 7c31b61 — llvm/include/llvm/CodeGen LiveDebugVariables.h, llvm/lib/CodeGen LiveDebugVariables.cpp

[LiveDebugVariables] Repair stale SlotIndexes

The analysis keeps its indexes from before the first register allocator
until DBG_VALUEs are emitted, by which point passes in between have
erased some of the instructions they point at. Resolve them at the
start of each allocator run and before emitting.

SlotIndexes can then reclaim the entries of erased instructions without
sparing the ones held here, which would have made generated code depend
on -g. Emitted locations are unchanged, except that intervals resolving
to one position now emit a single DBG_VALUE rather than identical
consecutive ones.
DeltaFile
+137-0llvm/lib/CodeGen/LiveDebugVariables.cpp
+63-0llvm/test/DebugInfo/AMDGPU/live-debug-vars-stale-slot-indexes.ll
+8-4llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
+8-0llvm/include/llvm/CodeGen/LiveDebugVariables.h
+5-2llvm/test/CodeGen/X86/debug-spilled-snippet.mir
+5-2llvm/test/CodeGen/X86/debug-spilled-snippet.ll
+226-81 files not shown
+233-87 files

HardenedBSD/src ceb628d — stand/common dev_net.c, sys/dev/rge if_rge.c

Merge remote-tracking branch 'rad/freebsd/current/main' into hardened/current/master

Conflicts:
        sys/kern/imgact_aout.c (deleted)
DeltaFile
+33-33sys/netinet/igmp.c
+30-6stand/common/dev_net.c
+33-0tests/sys/netpfil/pf/table.sh
+24-8sys/kern/kern_jail.c
+25-4sys/net/if.c
+16-10sys/dev/rge/if_rge.c
+161-6128 files not shown
+309-13134 files

LLVM/project 779a0f4 — llvm/test/TableGen RegClassByHwModeCompressPat4Modes.td RegClassByHwModeCompressPatError.td, llvm/utils/TableGen CompressInstEmitter.cpp

[TableGen] Support HwMode registers in CompressInstEmitter (#203599)

Previously, CompressInstEmitter only handled plain Register and
RegisterClass records when matching and validating operands in
CompressPat definitions. Attempting to use a RegisterByHwMode (such as a
mode-dependent stack pointer) or a RegClassByHwMode with mode-dependent
registers failed because CompressInstEmitter could not resolve the
underlying register or register class for a given subtarget
configuration.

Introduce HwModePredicates in CodeGenHwModes to resolve HwModeSelect
records using the subtarget features required by a CompressPat (with
predicates implying the absence of all non-default modes resolving to
DefaultMode). This allows using a single instruction definition for
compressed instructions like RISC-V C_ADDI4SPN/C_ADDI16SP across HwModes
instead of duplicating the instruction definitions for each mode.

This commit was created with the help of AI tools
DeltaFile
+194-0llvm/utils/TableGen/Common/CodeGenHwModes.cpp
+99-83llvm/utils/TableGen/CompressInstEmitter.cpp
+154-1llvm/test/TableGen/RegClassByHwModeCompressPat.td
+129-0llvm/test/TableGen/RegClassByHwModeCompressPatError.td
+116-0llvm/test/TableGen/RegClassByHwModeCompressPat4Modes.td
+50-0llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
+742-842 files not shown
+785-848 files

HardenedBSD/src 0026410 — share/misc bsd-family-tree, usr.sbin/bhyve rtc_pl031.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+44-37share/misc/bsd-family-tree
+2-2usr.sbin/bhyve/rtc_pl031.c
+1-1usr.sbin/bsdinstall/scripts/auto
+47-403 files

FreeBSD/src 6d78add — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 10.2

(cherry picked from commit 7b7ef798bfc56c56e80b88bc277d5c6158dcaee4)
DeltaFile
+23-20share/misc/bsd-family-tree
+23-201 files

FreeBSD/src 75655f9 — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 9.5 and FreeBSD 14.5

(cherry picked from commit ae458518935eee7a6dc59958f1fb9da223b873c3)
DeltaFile
+41-37share/misc/bsd-family-tree
+41-371 files

HardenedBSD/src 6b1365b — share/misc bsd-family-tree, usr.sbin/bhyve rtc_pl031.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+44-37share/misc/bsd-family-tree
+2-2usr.sbin/bhyve/rtc_pl031.c
+46-392 files

HardenedBSD/ports 54f84a2 — chinese/libchewing distinfo, devel/antlr4-cpp-runtime pkg-plist

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+0-703devel/py-pyrepl/files/patch-2to3
+171-189x11-fonts/py-shaperglot/distinfo
+9-226mail/thunderbird/files/patch-libwebrtc-generated
+84-93x11-fonts/py-shaperglot/Makefile.crates
+177-0devel/antlr4-cpp-runtime/pkg-plist
+57-105chinese/libchewing/distinfo
+498-1,316940 files not shown
+5,064-4,921946 files

FreeBSD/src 493231a — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 10.2

(cherry picked from commit 7b7ef798bfc56c56e80b88bc277d5c6158dcaee4)
DeltaFile
+23-20share/misc/bsd-family-tree
+23-201 files

HardenedBSD/src 493231a — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 10.2

(cherry picked from commit 7b7ef798bfc56c56e80b88bc277d5c6158dcaee4)
DeltaFile
+23-20share/misc/bsd-family-tree
+23-201 files

HardenedBSD/src 1eacca6 — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 9.5 and FreeBSD 14.5

(cherry picked from commit ae458518935eee7a6dc59958f1fb9da223b873c3)
DeltaFile
+41-37share/misc/bsd-family-tree
+41-371 files

FreeBSD/src 1eacca6 — share/misc bsd-family-tree

bsd-family-tree: add NetBSD 9.5 and FreeBSD 14.5

(cherry picked from commit ae458518935eee7a6dc59958f1fb9da223b873c3)
DeltaFile
+41-37share/misc/bsd-family-tree
+41-371 files

LLVM/project 3a2f13f — clang/lib/CodeGen CGExprScalar.cpp, clang/test/CodeGenHLSL/BasicFeatures VectorElementwiseCast.hlsl

[HLSL] Extract matrix elementwise cast operands from SSA (#227065)

Avoid materializing matrix operands in the hlsl.ewcast.src temporary
when performing matrix-to-vector elementwise casts. Extract each element
directly from the canonical matrix SSA value using its column-major
flattened index.

Factor vector result construction into a shared helper so aggregate and
matrix sources use the same conversion and insertion logic.

Update the matrix-to-vector CodeGen checks for both row-major and
column-major layouts.

Assisted by Copilot using GPT 5.6 Sol
DeltaFile
+25-47clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
+48-18clang/lib/CodeGen/CGExprScalar.cpp
+73-652 files

LLVM/project afab119 — llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/RISCV/rvv fixed-vectors-vploadff.ll vploadff.ll

[SelectionDAG] Add computeKnownBits support for VP_LOAD_FF's second result (#227389)

The second result of `ISD::VP_LOAD_FF` is the new EVL, which is always
less than or equal to(1) the EVL operand of this intrinsic, and (2) the
largest length of the loaded vector. This patch teaches computeKnownBits
about these ranges so that DAGCombiner can eliminate things like
redundant z/sext + truncate on this new EVL.

In RISC-V, this means that if there are two consecutive fault only first
loads where the second one is using the EVL from the first load, there
won't be any redundant zext + truncate generated for the intermediate
EVL in between.
DeltaFile
+38-0llvm/test/CodeGen/RISCV/rvv/vploadff.ll
+18-0llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+13-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
+69-03 files

LLVM/project 71879b9 — bolt/runtime common.h

[BOLT] Keep instrumentation diagnostics out of line (#225986)

The instrumentation runtime's diagnostics reserve a 32 KiB scratch
buffer on the stack. When `assert()` or `reportNumber()` get inlined
into callers on instrumented code paths, the buffer inflates every
caller frame — on small thread stacks a single such frame already
overflows the guard region and the profiled binary segfaults even when
no assertion fires.

Move the `assert()` failure path into a `noinline` helper
(`reportAssertFailure`) and mark `reportNumber()` `noinline` as well, so
the scratch buffer is only reserved when a diagnostic is actually
emitted. This matches the fix sketched in the issue report.

Verified: `common.h` syntax-checks clean in the freestanding runtime
build; the only behavioral change is where the buffer lives.

Fixes #225479


    [2 lines not shown]
DeltaFile
+13-4bolt/runtime/common.h
+13-41 files

GhostBSD/ports 2c9e9ca — net-im/libsignal-node Makefile

net-im/libsignal-node: Fix build with npm 12

npm 12 rejects unknown CLI flags with EUNKNOWNCONFIG instead of only
warning about them, so --nodedir and --ignore-optional are now hard
errors.

Point node-gyp at the node headers through npm_config_nodedir in
MAKE_ENV instead. node-gyp reads any npm_config_* variable from the
environment, and this is already how bitwarden-cli, signal-desktop and
vscode do it.

--ignore-optional is a yarn flag left over from when this port used
yarn. npm never honored it, so dropping it does not change what gets
installed.
DeltaFile
+4-3net-im/libsignal-node/Makefile
+4-31 files