LLVM/project d7d2c0cutils/bazel/llvm-project-overlay/clang BUILD.bazel

[bazel][clang] Fix build for #191932 (#193337)

Straightforward build fix.
DeltaFile
+2-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+2-01 files

FreeBSD/src bbd20c0sys/compat/linuxkpi/common/include/linux slab.h, sys/compat/linuxkpi/common/src linux_slab.c

linuxkpi: Pass a `const void *` to `krealloc()`

This matches the API on Linux.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56451
DeltaFile
+3-3sys/compat/linuxkpi/common/src/linux_slab.c
+2-2sys/compat/linuxkpi/common/include/linux/slab.h
+5-52 files

FreeBSD/src 18c71d9sys/compat/linuxkpi/common/include/linux mod_devicetable.h

linuxkpi: Include <linux/uuid.h> from <linux/mod_devicetable.h>

The DRM generic code started to deppend on this indirect include of
<linux/uuid.h> in Linux 6.12.

Reviewed by:    bz, emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56449
DeltaFile
+1-0sys/compat/linuxkpi/common/include/linux/mod_devicetable.h
+1-01 files

FreeBSD/src 2434fcfsys/compat/linuxkpi/common/src linux_slab.c

linuxkpi: Passing a size of zero to `krealloc()` frees the pointer

This matches the API on Linux.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56452
DeltaFile
+5-0sys/compat/linuxkpi/common/src/linux_slab.c
+5-01 files

FreeBSD/src a5ae030sys/compat/linuxkpi/common/include/linux fs.h

linuxkpi: Add `fop_flags` to `struct file_operations`

... along with the `FOP_*` flag constants.

Note that this `fop_flags` field is not used on FreeBSD. It is added to
make the DRM drivers compile out of the box.

The DRM generic code and drivers started this in Linux 6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56450
DeltaFile
+11-0sys/compat/linuxkpi/common/include/linux/fs.h
+11-01 files

FreeBSD/src ae1f695sys/compat/linuxkpi/common/include/linux kdev_t.h

linuxkpi: Define `MINORBITS`

We can't really define a proper value for this constant because minor
and major are encoded in a complex way on FreeBSD which cannot be
represented with a simple shift.

The DRM generic code started to use it in Linux 6.12.

In this context, `MINORBITS` is used to define an upper limit passed to
`xa_alloc()`. Therefore it is not used to encode or decode minors. It is
used as an arbitrary value. Therefore, we define the constant to 20,
like on Linux.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56447
DeltaFile
+15-0sys/compat/linuxkpi/common/include/linux/kdev_t.h
+15-01 files

FreeBSD/src 4dab15esys/compat/linuxkpi/common/include/linux sort.h

linuxkpi: Define `sort_r()`

Like Linux `sort()` and FreeBSD `qsort()`, `sort_r()` is a wrapper
around FreeBSD `qsort_r()`.

The i915 DRM driver started to use it in Linux 6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56437
DeltaFile
+5-0sys/compat/linuxkpi/common/include/linux/sort.h
+5-01 files

FreeBSD/src cefd0aesys/compat/linuxkpi/common/include/linux uuid.h, sys/compat/linuxkpi/common/src linux_compat.c

linuxkpi: Add several `guid_*()` functions

The DRM generic code and the amdgpu DRM driver started to use several of
these functions in Linux 6.12. Likewise for `UUID_SIZE`.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56448
DeltaFile
+27-0sys/compat/linuxkpi/common/include/linux/uuid.h
+3-0sys/compat/linuxkpi/common/src/linux_compat.c
+30-02 files

FreeBSD/src ad528a6sys/compat/linuxkpi/common/include/linux kernel.h wait.h

linuxkpi: Define diagnostic macros like `might_resched()` or `cant_sleep()`

They are no-ops on FreeBSD.

While here, move the already defined `might_sleep*()` macros from
<linux/wait.h> to <linux/kernel.h> where they belong.

The DRM generic code started to use `might_fault()` in Linux 6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56434
DeltaFile
+33-0sys/compat/linuxkpi/common/include/linux/kernel.h
+0-7sys/compat/linuxkpi/common/include/linux/wait.h
+33-72 files

FreeBSD/src 2357de8sys/compat/linuxkpi/common/include/linux device.h

linuxkpi: Define `dev_err_probe*()`

They differ from other `dev_*()` logging functions by returning the
passed error code. The error code is also used to determine if the
message should be logged in the first place and at which log level.

The DRM generic code started to use it in Linux 6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56435
DeltaFile
+24-0sys/compat/linuxkpi/common/include/linux/device.h
+24-01 files

FreeBSD/src 8f95998sys/compat/linuxkpi/common/include/linux gfp.h

linuxkpi: Define `__GFP_THISNODE`

It is used to force the NUMA node to allocate from. This flag is
unimplemented for now because we don't have an implementation of
`alloc_pages_node()` yet.

The DRM TTM code started to use this flag in Linux 6.12.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56436
DeltaFile
+2-1sys/compat/linuxkpi/common/include/linux/gfp.h
+2-11 files

LLVM/project 486cc51llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Merge remote-tracking branch 'origin/users/ziqingluo/PR-172429193-2-split-4' into users/ziqingluo/PR-172429193-3

 Conflicts:
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+41,844-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
+40,613-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
+37,209-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
+597,128-03,172 files not shown
+976,406-61,0033,178 files

LLVM/project e07f4b2lldb/source/Plugins/SymbolFile/DWARF DWARFUnit.cpp, lldb/unittests/SymbolFile/DWARF DWARFUnitTest.cpp

[lldb/DWARF] Support 5-component Swift version in DW_AT_producer (#193305)
DeltaFile
+36-0lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
+2-2lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+38-22 files

LLVM/project d76111alibcxx/utils/ci/docker docker-compose.yml

[libcxx][Github] Bump Github Runner to 2.334.0 (#193339)

To stay ahead of the support horizon. Use the same base image to prevent
any differences beyond the runner binary.
DeltaFile
+1-1libcxx/utils/ci/docker/docker-compose.yml
+1-11 files

LLVM/project 9a6b93dllvm/test/CodeGen/X86 vector-fshr-sub128.ll vector-fshl-rot-sub128.ll

[X86] Regenerate vector shifts tests to reduce diffs in #188206 (#193325)

Regenerate missing asm comments to reduce noise in upcoming patch
DeltaFile
+8-8llvm/test/CodeGen/X86/vector-fshr-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshl-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
+4-4llvm/test/CodeGen/X86/vector-rotate-128.ll
+4-4llvm/test/CodeGen/X86/vector-shift-shl-128.ll
+40-405 files not shown
+60-6011 files

LLVM/project fad1e48llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV/rvv vfadd-vp.ll vitofp-sdnode.ll

Merge remote-tracking branch 'origin/main' into users/ziqingluo/PR-172429193-2-split-4

 Conflicts:
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
        clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
DeltaFile
+4,805-4,811llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,871-1,882llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+764-1,425llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
+837-855llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+1,139-456llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+10,294-9,857791 files not shown
+42,837-20,835797 files

LLVM/project a1d0a02mlir/lib/Dialect/LLVMIR/IR FunctionCallUtils.cpp, mlir/test/Conversion/FuncToLLVM func-duplicate-symbol.mlir

[mlir][func] Avoid to create duplicate symbol during conversion (#192342)

`LLVM::lookupOrCreateFn` only checks for an existing `LLVM::LLVMFuncOp`
before creating a new function declaration. When a symbol with the same
name exists as a different op type (e.g., `func.func` that hasn't been
converted to LLVM dialect yet), the function blindly creates a duplicate
`LLVMFuncOp`, which either causes a "redefinition of symbol" error or
silently introduces a renamed symbol (`@free_0`) that won't resolve at
link time.

This happens in practice when user code declares function that is also
used internally by MLIR lowerings. For example, a Fortran `bind(c,
name="free")` declaration produces a `func.func @free` in the IR. When
`memref.dealloc` is lowered (via DeallocOpLowering), it calls
lookupOrCreateFreeFn which calls lookupOrCreateFn — and since the
existing `func.func @free` is not an LLVMFuncOp, a conflicting duplicate
is created.

The fix adds a check in lookupOrCreateFn: before creating a new

    [3 lines not shown]
DeltaFile
+23-0mlir/test/Conversion/FuncToLLVM/func-duplicate-symbol.mlir
+11-0mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
+34-02 files

LLVM/project 2ed87baclang/docs ClangFormatStyleOptions.rst, clang/include/clang/Format Format.h

[clang-format] Add c++23 and 26 to the configuration (#193327)
DeltaFile
+6-0clang/docs/ClangFormatStyleOptions.rst
+4-0clang/include/clang/Format/Format.h
+4-0clang/lib/Format/Format.cpp
+2-0clang/unittests/Format/ConfigParseTest.cpp
+16-04 files

LLVM/project 82f5c73clang/tools/c-index-test CMakeLists.txt

[clang] Suppress glibc C11 extension warning in c-index-test

`c-index-test.c` is still compiled as gnu89 on purpose. That acts as
a useful guard rail: it helps keep the file compatible with older C
dialects instead of silently picking up newer C features because Clang
defaults to a newer language mode.

Ubuntu 26.04 LTS updates glibc's string.h so `strchr`, `strrchr` and
`strstr` are routed through `_Generic`-based macros. When Clang compiles
`c-index-test.c` with `-std=gnu89` and `-pedantic`, that now triggers
`-Wc11-extensions` warnings even though the source itself is not using
C11 features.

Keep the gnu89 check in place and suppress this warning only for Clang
when building c-index-test.
DeltaFile
+6-0clang/tools/c-index-test/CMakeLists.txt
+6-01 files

LLVM/project e0b4a70compiler-rt CMakeLists.txt, compiler-rt/lib/profile CMakeLists.txt

[compiler-rt][profile] Use runtimes-libc-headers in the GPU runtimes build (#192814)

When compiler-rt is built for a GPU target in the same runtimes build
as LLVM-libc, the profile sources `#include <string.h>`, `<limits.h>`,
... Those headers are generated by LLVM-libc for the GPU triple.

A concrete example is the amdgcn runtimes build:

    -DLLVM_RUNTIME_TARGETS='default;amdgcn-amd-amdhsa'
    -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES='compiler-rt;libc'
    -DRUNTIMES_amdgcn-amd-amdhsa_RUNTIMES_USE_LIBC=llvm-libc

Even though `libc` is configured before `compiler-rt`, both sets of
targets live in the same ninja graph and race each other. Ninja can
start compiling `compiler-rt/lib/profile/InstrProfiling.c` before
LLVM-libc has finished generating its GPU `string.h`, and even when
hdrgen has finished, the profile compile needs `-isystem` pointing at
the generated header tree.


    [26 lines not shown]
DeltaFile
+11-0compiler-rt/lib/profile/CMakeLists.txt
+8-0compiler-rt/CMakeLists.txt
+19-02 files

LLVM/project 92958a0llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll

AMDGPU/GlobalISel: RegBankLegalize rules for DS barrier arrive atomics (#192767)
DeltaFile
+81-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll
+32-5llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll
+6-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+119-153 files

LLVM/project 5ee4c51clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.h, clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.cpp SSAFAnalysesCommon.h

[SSAF][Analyses] Add an AST visitor for the contribution model (#191933)

Add an AST visitor that respects the contribution model and will be
shared across SSAF analyses.

---------

Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
DeltaFile
+44-71clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+102-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
+8-5clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
+13-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
+168-775 files

LLVM/project 368ee15utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel plugin_config.bzl

[bazel][lldb] Add target for new plugin (#193316)

PR #191782 added a new plugin. This PR adds a bazel target for it.
DeltaFile
+31-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
+32-02 files

LLVM/project d465016lldb/source/Expression UserExpression.cpp

[lldb] Directly access object variable in GetObjectPointerValueObject (NFC) (#193120)

The `GetObjectPointerValueObject` function does not need full variable
path expressions, or any of its functionality. This function simply gets
the value of `this` or `self`.
DeltaFile
+8-9lldb/source/Expression/UserExpression.cpp
+8-91 files

Linux/linux d46dd0dfs/f2fs node.c super.c

Merge tag 'f2fs-for-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs

Pull f2fs updates from Jaegeuk Kim:
 "In this round, the changes primarily focus on resolving race
  conditions, memory safety issues (UAF), and improving the robustness
  of garbage collection (GC), and folio management.

  Enhancements:
   - add page-order information for large folio reads in iostat
   - add defrag_blocks sysfs node

  Bug fixes:
   - fix uninitialized kobject put in f2fs_init_sysfs()
   - disallow setting an extension to both cold and hot
   - fix node_cnt race between extent node destroy and writeback
   - preserve previous reserve_{blocks,node} value when remount
   - freeze GC and discard threads quickly
   - fix false alarm of lockdep on cp_global_sem lock
   - fix data loss caused by incorrect use of nat_entry flag

    [34 lines not shown]
DeltaFile
+60-54fs/f2fs/node.c
+54-16fs/f2fs/super.c
+34-19fs/f2fs/data.c
+35-6fs/f2fs/f2fs.h
+37-1fs/f2fs/iostat.c
+21-6fs/f2fs/sysfs.c
+241-10215 files not shown
+387-15221 files

LLVM/project 23ef732llvm/test/CodeGen/NVPTX machine-cse-predicate-inversion.ll machine-cse-predicate-no-inversion.ll

Move inversion/no inversion tests to one file. Fixup issue in machine-cse-predicate-inversion-multiple-users.ll
DeltaFile
+3,997-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
+1,525-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll
+0-695llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float16.ll
+0-695llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-bfloat16.ll
+0-679llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float64.ll
+0-663llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-float32.ll
+5,522-2,73211 files not shown
+5,526-5,58317 files

LLVM/project f29d0b4clang/lib/CIR/CodeGen CIRGenTypes.h CIRGenTypes.cpp

[CIR] Cache isSafeToConvert results to avoid redundant record layout … (#193122)

…walks

CIRGenTypes::isSafeToConvert() walks record layouts to determine whether
a struct can be safely converted to MLIR types. The walk recurses into
field types and re-runs for the same record every time it is asked, so
workloads with many distinct record types (template-heavy code in
particular) repeat substantial work.

Cache the boolean result in a per-CIRGenTypes DenseMap keyed by the
RecordDecl. Lookup becomes O(1) after the first walk per type.

The impact in isolation is modest — on a synthetic stress with many
records and template instantiations, end-to-end compile time on `clang
-fclangir -S -emit-llvm -O0` improves by roughly 2-3% (e.g. 16.59s ->
16.09s on a 67K-LOC input).

Repro shape (scale records and template instantiations into the

    [11 lines not shown]
DeltaFile
+17-0clang/lib/CIR/CodeGen/CIRGenTypes.h
+16-0clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+33-02 files

LLVM/project bffb208libunwind/test aarch64_za_unwind.pass.cpp CMakeLists.txt, libunwind/test/configs llvm-libunwind-merged.cfg.in llvm-libunwind-shared.cfg.in

[libunwind] Add SME detection for ZA test on OpenBSD / FreeBSD (#193148)

Follow up to 588451c160c34b888ced1c3d9263d361df22f757 to
add SME detection on OpenBSD and FreeBSD.
DeltaFile
+15-2libunwind/test/aarch64_za_unwind.pass.cpp
+6-0libunwind/test/configs/llvm-libunwind-merged.cfg.in
+6-0libunwind/test/configs/llvm-libunwind-shared.cfg.in
+6-0libunwind/test/configs/llvm-libunwind-static.cfg.in
+2-0libunwind/test/CMakeLists.txt
+35-25 files

FreeBSD/ports 22ff37dx11-servers/xlibre-server distinfo Makefile.version, x11/nvidia-driver Makefile

x11/{nvidia-driver,slim},x11-servers/xlibre-server: Update XLibre to 25.1.4

With hat:       xlibre
DeltaFile
+3-3x11-servers/xlibre-server/distinfo
+1-1x11-servers/xlibre-server/Makefile.version
+1-1x11/nvidia-driver/Makefile
+1-1x11/slim/Makefile
+6-64 files

OpenBSD/ports BlRZ4yinet/librenms Makefile distinfo, net/librenms/patches patch-app_ConfigRepository_php patch-LibreNMS___init___py

   MFC update to librenms-26.4.0
VersionDeltaFile
1.212.2.2+23-17net/librenms/Makefile
1.144.2.2+4-4net/librenms/distinfo
1.2.2.2+3-3net/librenms/patches/patch-app_ConfigRepository_php
1.3.2.1+2-2net/librenms/patches/patch-LibreNMS___init___py
1.3.2.2+1-1net/librenms/patches/patch-resources_definitions_config_definitions_json
1.19.2.1+0-0net/librenms/pkg/README
+33-277 files not shown
+33-2713 files