LLVM/project 96f2657llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Support constant vectors of mixed types

createConstantVector() previously packed the constant store operands
as-is, which only worked when every store had the same element type.
Take the lane type from VecUtils::getCombinedVectorTypeFor() instead and
reinterpret each constant's bits as that type, going through an integer
of matching width via ptrtoint/inttoptr/bitcast. Constants wider than a
lane (e.g. an i64 in an <N x i32>) are split across several lanes in
memory order. Bail out when a constant cannot be reinterpreted, such as
a non-integral pointer or a relocatable address that needs splitting.

Also flatten vector-typed ConstantPointerNull into per-lane nulls, and
bail out on the remaining vector constants such as poison rather than
packing them into the result.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+385-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+92-12llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+15-5llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+18-0llvm/lib/SandboxIR/Constant.cpp
+12-3llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+12-0llvm/unittests/SandboxIR/SandboxIRTest.cpp
+534-203 files not shown
+540-219 files

LLVM/project 1e5e53dclang/docs ReleaseNotes.md, clang/include/clang/Basic BuiltinHeaders.def Builtins.td

[Clang][Sema] Add fortify warnings for recv and recvfrom (#223520)

Add `-Wfortify-source` diagnostics for `recv` and `recvfrom` when the size argument exceeds the destination buffer size.

Part of #142230

Assisted-by: Gemini
DeltaFile
+72-0clang/test/Sema/warn-fortify-source-recv-not-builtin.c
+36-0clang/test/Sema/warn-fortify-source.c
+15-3clang/lib/Sema/SemaChecking.cpp
+17-0clang/include/clang/Basic/Builtins.td
+3-0clang/docs/ReleaseNotes.md
+1-0clang/include/clang/Basic/BuiltinHeaders.def
+144-36 files

LLVM/project 7a89432.github/workflows libcxx-pr-benchmark.yml libcxx-pr-test-tools.yml

Revert "Partially Reapply "[libcxx] Move premerge jobs to k8s mode runner set…"

This reverts commit a14634f662776d7c9f3fe15f5eb687dc6287d17c.
DeltaFile
+2-5.github/workflows/libcxx-pr-test-tools.yml
+1-0.github/workflows/libcxx-pr-benchmark.yml
+3-52 files

LLVM/project edbecccclang/lib/CodeGen CGHLSLRuntime.cpp, clang/lib/Sema SemaHLSL.cpp

[HLSL] Implement the SV_InstanceID semantic (#221091)

Fixes #212572

Adds type validation, stage restriction, and lowering for
`SV_InstanceID`.

- Type check rejects non-uint; DXIL accepts U32/U16, SPIR-V accepts U32
only (VUID-InstanceIndex-InstanceIndex-04265).
- Rejected all sigpoints but Vertex In.
- On SPIR-V, the variable is decorated with `BuiltIn InstanceIndex`
instead of a user-assigned Location.
- SPIR-V lowering loads from the `InstanceIndex` (ID 43) built-in; DXIL
lowering uses `dx.op.loadInput`.
- LIT tests for sema (wrong type, wrong stage, output direction) and
codegen (BuiltIn decoration, no Location).

@dnovillo @pow2clk

Assisted-by: LLM
DeltaFile
+38-0clang/test/SemaHLSL/Semantics/instanceid.vs.hlsl
+19-0clang/test/CodeGenHLSL/semantics/SV_InstanceID.vs.hlsl
+13-0clang/lib/Sema/SemaHLSL.cpp
+12-0clang/lib/CodeGen/CGHLSLRuntime.cpp
+11-0clang/test/SemaHLSL/Semantics/instanceid.output.hlsl
+7-0clang/test/SemaHLSL/Semantics/instanceid.ps.hlsl
+100-02 files not shown
+103-28 files

LLVM/project a4f389ecompiler-rt/lib/sanitizer_common/symbolizer/scripts global_symbols.txt

[NFC][sanitizer] Allow fread in symbolizer (#225853)

Commit 3c63fcb246f3 (#212010) introduced `fread` usage in libc++
`std_stream.h`. Because libc++ is linked into the internal symbolizer,
`fread` is now referenced in `symbolizer.o`. Add `fread U` to
`global_symbols.txt` so symbol verification succeeds.

Assisted-by: Gemini
DeltaFile
+1-0compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
+1-01 files

LLVM/project d4c1e0cllvm/test/CodeGen/AMDGPU amdgcn.bitcast.960bit.ll amdgcn.bitcast.256bit.ll

AMDGPU: Preserve dead carry-out when shrinking adds in SIFoldOperands (#225687)

The VOP3 form of add/sub with carry out are sometimes shrunk to the VOPC
form when the carry out is dead. Preserve this information by setting
the dead flag on the new instruction. This alleviates some implicit
dependence on LiveVariables' later recomputation of dead flags.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+4,860-4,866llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,684-1,713llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+772-790llvm/test/CodeGen/AMDGPU/scratch-simple.ll
+398-401llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+226-247llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+210-221llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+8,150-8,23834 files not shown
+9,629-9,94040 files

FreeBSD/ports 3a5cd0bpolish/napi/files patch-CMakeLists.txt

polish/napi: Fix building with CMake 4

Approved by:    portmgr (fixit blanket)
DeltaFile
+8-0polish/napi/files/patch-CMakeLists.txt
+8-01 files

LLVM/project dfc0d74libcxx/test/benchmarks filesystem.bench.cpp

[libc++] Don't pass a path lvalue to DoNotOptimize in the filesystem benchmark (#225504)

BM_PathIterateOnceBackwards passes *I directly to DoNotOptimize.
However, libstdc++ returns a const lvalue reference to `path` from that
operation, which selects GoogleBenchmark's deprecated const-ref
overload.

Use the pattern used elsewhere in this file instead.
DeltaFile
+2-2libcxx/test/benchmarks/filesystem.bench.cpp
+2-21 files

LLVM/project be40d5bcompiler-rt/lib/csan csan_watch.h csan_report.cpp, compiler-rt/lib/csan/offload csan_offload_report.cpp csan_offload_hsa_interceptors.cpp

[compiler-rt] Add 'csan' library for the concurrency sanitizer

Summary:
Adds the runtime for the concurrency sanitizer, both CPU and GPU.
Fundamentally, this works using the following pseudocode:

```c
static u64 watchpoints[N]; // Hash-indexed, zero is empty.

// Emitted before the access, so we never trip on our own write.
void check_access(volatile void *addr, u32 size, u32 type) {
    // Every access probes. A read conflicts only with a watched write, a
    // write conflicts with either.
    if (u64 *wp = find_watchpoint(addr, size, type))
        consume(wp, this_pc()); // Hand our location to the owner.

    if (!should_sample()) // Wave-uniform, 1-in-N chance.
        return;


    [17 lines not shown]
DeltaFile
+456-0compiler-rt/lib/csan/csan_gpu.cpp
+370-0compiler-rt/lib/csan/offload/csan_offload_hsa_interceptors.cpp
+334-0compiler-rt/lib/csan/csan.cpp
+279-0compiler-rt/lib/csan/csan_report.cpp
+184-0compiler-rt/lib/csan/offload/csan_offload_report.cpp
+163-0compiler-rt/lib/csan/csan_watch.h
+1,786-050 files not shown
+3,031-556 files

LLVM/project aeea5b1llvm/test/Transforms/LoopVectorize outer-loop-gep-nowrap-flags-scev.ll outer_loop_contiguous.ll, llvm/test/Transforms/LoopVectorize/AArch64 outer_loop_prefer_scalable.ll

[LV] Add additional outer loop vectorization tests. (#225821)

Add test more test coverage for outer loop vectorization path, focusing
on various legality aspects, like supported instructions and memory
checks.
DeltaFile
+1,326-0llvm/test/Transforms/LoopVectorize/outer-loop-memory-safety.ll
+477-1llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
+147-0llvm/test/Transforms/LoopVectorize/outer-loop-gep-nowrap-flags-scev.ll
+98-1llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
+62-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop-memchecks.ll
+2,110-25 files

FreeBSD/ports d7dcb93graphics/pfstools/files patch-CMakeLists.txt

graphics/pfstools: Fix building with CMake 4

Approved by:    portmgr (fixit blanket)
DeltaFile
+7-1graphics/pfstools/files/patch-CMakeLists.txt
+7-11 files

NetBSD/pkgsrc-wip 7bdb295rio Makefile, rio/patches patch-corcovado_src_sys_unix_kqueue.rs patch-misc_rio.terminfo

Revert some of the removed patches, avoid ncurses file config
DeltaFile
+64-0rio/patches/patch-teletypewriter_src_unix_mod.rs
+23-26rio/Makefile
+23-0rio/patches/patch-misc_rio.desktop
+22-0rio/patches/patch-rio-backend_src_config_defaults.rs
+18-0rio/patches/patch-misc_rio.terminfo
+15-0rio/patches/patch-corcovado_src_sys_unix_kqueue.rs
+165-264 files not shown
+179-4110 files

LLVM/project b68692bllvm/docs/CommandGuide lit.md

[lit][docs] Document %if conditional substitution in lit CommandGuide (#225683)

`%if ... %else` conditional substitutions (implemented in
`TestRunner.py` and mentioned in `TestingGuide.md`) were missing from
the `SUBSTITUTIONS` table and `available_features` description in
`llvm/docs/CommandGuide/lit.md`. Add `%if` to the base substitutions
table and note that `available_features` can be used in `%if`
conditions.

Signed-off-by: Ingo Müller <ingomueller at google.com>
DeltaFile
+2-1llvm/docs/CommandGuide/lit.md
+2-11 files

LLVM/project 2aaf32aclang/docs ConcurrencySanitizer.md, clang/lib/CodeGen CodeGenFunction.cpp

[Clang] Add support for the `-fsanitize=concurrency` runtime

Summary:
Add the frontend sanitizer kind, function attributes, pass pipeline
integration, predefined macro, driver handling, and documentation for
ConcurrencySanitizer.
DeltaFile
+207-0clang/docs/ConcurrencySanitizer.md
+73-0clang/test/CodeGen/sanitize-concurrency.c
+31-7clang/lib/Driver/ToolChains/CommonArgs.cpp
+15-0clang/test/Driver/fsanitize.c
+10-4clang/lib/Driver/SanitizerArgs.cpp
+10-3clang/lib/CodeGen/CodeGenFunction.cpp
+346-1410 files not shown
+374-1516 files

FreeBSD/ports fefe2camath/octave-forge-pkg-octave-doc Makefile distinfo

math/octave-forge-pkg-octave-doc: Update to 0.8.5.
DeltaFile
+3-3math/octave-forge-pkg-octave-doc/distinfo
+1-1math/octave-forge-pkg-octave-doc/Makefile
+4-42 files

FreeBSD/ports 1bd9e94security/openssl41 pkg-message Makefile

security/openssl41: Update to 4.1.0 BETA 1
DeltaFile
+3-3security/openssl41/distinfo
+2-2security/openssl41/pkg-message
+2-2security/openssl41/Makefile
+7-73 files

FreeBSD/ports 874868awww/apache24 Makefile Makefile.options

www/apache24: Enable brotli by default

PR:             251684
Reorted by:     Nathan Weeks <nathan.weeks at usda.gov>
DeltaFile
+1-1www/apache24/Makefile.options
+1-0www/apache24/Makefile
+2-12 files

FreeBSD/src 72e3910lib/libsys stat.2

stat(2): Document st_bsdflags and SFBSD_NAMEDATTR

Those are FreeBSD-specific member and flag still better to be
documented.

Reviewed by:    kib
Sponsored by:   Sippy Software, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59915
DeltaFile
+19-2lib/libsys/stat.2
+19-21 files

FreeBSD/src 7fab248release/tools vmimage.subr

vmimage.subr: Include dangling symlinks in images

When creating VM images, we filter the METALOG file created by pkg(8)
when installing non-base packages, rejecting any lines which correspond
to files which don't exist; this solves a problem which arose when a
package was installed and then deinstalled (or upgraded) later in the
image-building process.

Unfortunately [ -e ... ] follows symlinks and is not basedir-aware, so
an absolute symlink which is valid *inside* the image is omitted from
the image if it points to something which isn't present in the build
host system.

Replace [ -e ... ] with [ -e ... ] || [ -L ... ] so that symlinks are
included even if dangling.

While I'm here, add quoting in case future paths become problematic.

Sponsored by:   Amazon

    [3 lines not shown]
DeltaFile
+2-1release/tools/vmimage.subr
+2-11 files

FreeBSD/src fb039d4release/tools ec2_setpass

ec2-desktop: Fix shell expansion in ec2_setpass

Using a backtick inside a backtick-expansion isn't a good idea; switch
instead to using $( ... ).

Fixes:  a9710349513f ("EC2: Add desktop flavour")
Sponsored by:   Amazon

(cherry picked from commit 28cad382a2bb5fc398bd11f8e7b3637ad6c03334)
DeltaFile
+1-1release/tools/ec2_setpass
+1-11 files

FreeBSD/src 73aca6brelease/tools ec2-desktop.conf

ec2-desktop: Don't enable firstboot_pkgs

We don't have any packages to install by default when the instance
first boots, so (as with the "small" flavour) don't enable the
firstboot_pkgs script.  If someone wants to launch a desktop with
packages autoinstalled at first boot, they can enable the script at
the same time as they provide the list of packages.

Sponsored by:   Amazon

(cherry picked from commit eca31490322f181a415c14c6bf03e656e81fb4aa)
DeltaFile
+1-1release/tools/ec2-desktop.conf
+1-11 files

FreeBSD/src 80c5a04release Makefile.vm, release/tools ec2_setpass ec2_desktop_extras

EC2: Add desktop flavour

Desktop AMIs have xrdp enabled and boot to a KDE desktop; they are
as compatible as possible with EC2 Windows AMIs, setting a random
password and printing it to the console in encrypted format to be
retrieved using the EC2 GetPasswordData API.

Two rc.d scripts are included in this commit which will not exist
in the long term: ec2_addpass will become part of the ec2-scripts
package, and ec2_desktop_extras will go away once its functionality
is included elsewhere.

MFC After:      1 month
Relnotes:       yes
Sponsored by:   Amazon

(cherry picked from commit a9710349513f4c6ccb8bcff34fa9ea186fae6114)
DeltaFile
+73-0release/tools/ec2-desktop.conf
+60-0release/tools/ec2_desktop_extras
+58-0release/tools/ec2_setpass
+2-1release/Makefile.vm
+193-14 files

FreeBSD/src 2449fa9lib/libpmc pmclog.h, lib/libpmcstat libpmcstat_image.c

hwpmc: hwpmc: record page size to fix analysis in some case

This fixes a bug where a binary linked using max-page-size=0x200000
can result in a bogus relocation offset when running on a system
with a smaller page size.  This causes samples  to fall outside
the image mapping or be translated to the wrong address (resulting
in symbol resolution, or incorrect symbol resolution).  We noticed
this at Netflix because we run a patchset enabling 16k pages on
amd64 and have been compiling userspace with a 2MB page size.
Since we started doing this profiling userspace binaries has been
wonky.

Reviewed by: ali_mashtizadeh.com
Differential Revision: https://reviews.freebsd.org/D59771
Sponsored by: Netflix
DeltaFile
+17-2lib/libpmcstat/libpmcstat_image.c
+11-6usr.sbin/pmc/view.cc
+7-1sys/sys/pmclog.h
+7-0lib/libpmc/pmclog.h
+5-1sys/dev/hwpmc/hwpmc_logging.c
+2-1usr.sbin/pmc/view.hh
+49-113 files not shown
+52-129 files

LLVM/project fa93974llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 fsub-chain-reduction-unpaired-signs.ll

[SLP]Pair small sign-aware reduction groups only if both signs have one

The small-group check of the flattened fsub/fneg fadd reductions
used whenever any leaf was negated, vectorizing 2-wide parts that
have no opposite-sign part to combine with via the vector fsub.
Allow it only if both signs have a group of at least 2 values.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/225881
DeltaFile
+13-15llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll
+12-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+25-182 files

FreeBSD/ports e29fefcgraphics/perceptualdiff/files patch-CMakeLists.txt

graphics/perceptualdiff: Fix building with CMake 4
DeltaFile
+10-0graphics/perceptualdiff/files/patch-CMakeLists.txt
+10-01 files

LLVM/project 2cd14dfclang/test/CodeGenHLSL/builtins RWTexture-Interlocked.hlsl

Add InterlockedCompareExchangeFloatBitwise coverage to the texture test
DeltaFile
+5-0clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
+5-01 files

LLVM/project cc24f8bclang/include/clang/Basic Builtins.td

Remove the comment on the InterlockedCompareExchangeFloatBitwise builtin
DeltaFile
+0-1clang/include/clang/Basic/Builtins.td
+0-11 files

LLVM/project ce18585clang/test/CodeGenHLSL/builtins RWBuffer-Interlocked.hlsl RasterizerOrderedByteAddressBuffer-InterlockedCompareExchangeFloatBitwise.hlsl, clang/test/SemaHLSL/BuiltIns ByteAddressBuffer-InterlockedCompareExchangeFloatBitwise-sm60.hlsl InterlockedCompareExchangeFloatBitwise-errors.hlsl

First attempt implementing InterlockedCompareExchangeFloatBitwise



DeltaFile
+119-0clang/test/SemaHLSL/BuiltIns/InterlockedCompareExchangeFloatBitwise-errors.hlsl
+43-0clang/test/CodeGenHLSL/builtins/InterlockedCompareExchangeFloatBitwise.hlsl
+42-0clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedCompareExchangeFloatBitwise-sm60.hlsl
+32-0clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedCompareExchangeFloatBitwise.hlsl
+25-0clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedCompareExchangeFloatBitwise.hlsl
+10-0clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
+271-05 files not shown
+298-311 files

LLVM/project 6bf89baclang/test/CodeGenHLSL/builtins RWTexture-Interlocked.hlsl

Add InterlockedCompareExchange coverage to the texture test
DeltaFile
+5-0clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
+5-01 files

LLVM/project 07ecb07clang/test/CodeGenHLSL/builtins RWTexture-Interlocked.hlsl

Add InterlockedCompareStoreFloatBitwise coverage to the texture test
DeltaFile
+7-0clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
+7-01 files