LLVM/project 1823581libc/src/__support big_int.h, libc/test/src/__support integer_literals_test.cpp

[libc] Make BigInt trivially constructible (#206277)

This makes BigInt trivially constructible and additionally fixes the
failures caused by the upcoming change in constexpr functions.
DeltaFile
+27-44libc/src/__support/big_int.h
+1-1libc/test/src/__support/integer_literals_test.cpp
+28-452 files

LLVM/project 999715alldb/cmake/modules AddLLDB.cmake, lldb/tools/driver CMakeLists.txt

[lldb][CMake] Extend liblldb interposition fix to lldb-dap and lldb-mcp (#207251)

liblldb statically absorbs the lldbHost and lldbUtility archives (and
every plugin). A tool that links the shared liblldb while also linking
those same archives statically ends up with two copies of that object
code. On ELF, if the tool re-exports the archive symbols in its own
.dynsym, the dynamic linker can bind liblldb's internal references to
the tool's copy instead of liblldb's own, breaking shared-state
assumptions such as the HostInfo singletons.

106644f6c835 fixed this for the lldb driver with --exclude-libs,ALL, but
lldb-dap and lldb-mcp have the same setup and were left exposed. Factor
the logic into a shared lldb_prevent_liblldb_symbol_interposition helper
and call it from all three tools.
DeltaFile
+15-0lldb/cmake/modules/AddLLDB.cmake
+1-10lldb/tools/driver/CMakeLists.txt
+2-0lldb/tools/lldb-dap/tool/CMakeLists.txt
+2-0lldb/tools/lldb-mcp/CMakeLists.txt
+20-104 files

LLVM/project b25f149clang/include/clang/Sema Sema.h, clang/lib/Sema SemaExpr.cpp SemaInit.cpp

[clang] Defer consteval DMI checks for aggregate init

Clang currently checks immediate invocations in rebuilt default member initializers in isolation. For aggregate initialization, that can reject a valid initializer when the default member initializer reads an earlier field through the implicit this object. At that point Sema has not installed the aggregate object for constant evaluation yet, so evaluating the consteval call alone fails with a missing-this diagnostic even though evaluating the enclosing aggregate initializer would succeed.

Track immediate invocations from rebuilt default member initializers that fail only because this is unavailable, and defer diagnosing them until the enclosing full expression is complete. The enclosing initializer is then constant-evaluated with the aggregate object available; if that succeeds, the delayed invocation is accepted, and if it still fails, the normal consteval diagnostic is emitted. Also put parenthesized aggregate initialization on the same default-initializer rebuild path as braced aggregate initialization.

Update cxx2b-consteval-propagate.cpp to accept aggregate initialization from constant earlier fields, keep a runtime-dependent negative case, and cover GH207064's constructor-wrapper reproducer.
DeltaFile
+78-26clang/lib/Sema/SemaExpr.cpp
+28-4clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
+17-2clang/lib/Sema/SemaInit.cpp
+13-0clang/include/clang/Sema/Sema.h
+1-0clang/lib/Sema/SemaExprCXX.cpp
+137-325 files

LLVM/project f963e94clang/lib/Headers ptrauth.h

Make wording more clear
DeltaFile
+1-1clang/lib/Headers/ptrauth.h
+1-11 files

LLVM/project 9bd12f6clang/test/CodeGenHLSL/resources resources-in-structs-method-call.hlsl

[HLSL][NFC] Update test check to be more specific (#207232)

If the repo path contains "main", the test was matching it against the
ModuleID in the output because it contains a path to the test file, and
the follow-up checks were failing.

Based on feedback in
https://github.com/llvm/llvm-project/pull/206596#discussion_r3510725223.
DeltaFile
+1-1clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl
+1-11 files

LLVM/project aa8930cllvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer VecUtils.cpp

[SandboxVec] Move user collection to VecUtils and add unit tests
DeltaFile
+226-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
+1-55llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+54-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
+9-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+290-554 files

LLVM/project 76f4a8dclang/lib/Sema SemaDeclCXX.cpp, clang/test/SemaTemplate ctad.cpp

[clang] fix crash-on-invalid with deduction guides

Fix crash when a template template parameter specialization is used as a deduced type.

This is a regression since Clang 22, and this will be backported, so no release
notes.

Fixes #203261
DeltaFile
+17-0clang/test/SemaTemplate/ctad.cpp
+4-3clang/lib/Sema/SemaDeclCXX.cpp
+21-32 files

LLVM/project 2c4286eclang/test/CIR/CodeGen attr-target-x86.c attr-noundef.cpp, clang/test/CIR/CodeGenCXX uncopyable-args.cpp

[CIR] Update OGCG checks for 4 tests- (#207252)

These are broken by other patches, see: #182556 and #201999
DeltaFile
+5-5clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
+4-4clang/test/CIR/CodeGen/attr-target-x86.c
+2-2clang/test/CIR/CodeGen/attr-noundef.cpp
+1-1clang/test/CIR/CodeGen/lambda-dtor-field.cpp
+12-124 files

LLVM/project a0145cfmlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM gl-ops-to-llvm.mlir

[mlir][SPIR-V] Add SPIRVToLLVM conversion for GL.Fract (#206951)

Co-authored-by: Igor Wodiany <dev at wodiany.com>
DeltaFile
+21-1mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+15-0mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
+36-12 files

LLVM/project e140c63clang/lib/Headers ptrauth.h

[PAC][Headers] Fix incorrect comment in ptrauth.h
DeltaFile
+1-2clang/lib/Headers/ptrauth.h
+1-21 files

LLVM/project 6060a6bclang/include/clang/Lex TextEncoding.h, clang/lib/Lex TextEncoding.cpp

Put TextEncoding class in clang namespace to prevent naming conflicts (#207247)

Put TextEncoding class in the clang namespace to prevent naming conflicts
DeltaFile
+2-1clang/include/clang/Lex/TextEncoding.h
+2-0clang/lib/Lex/TextEncoding.cpp
+4-12 files

LLVM/project 5652e59flang/lib/Semantics check-omp-variant.cpp check-omp-structure.h, flang/test/Semantics/OpenMP metadirective-loop-nest.f90 metadirective-loop-applicability.f90

[flang][OpenMP] Semantic checks for metadirective loop nests

A loop-associated metadirective variant (`do`, `simd`, ...) is only
resolved during lowering, so it is never checked as a loop construct
during semantic analysis. A malformed or non-canonical associated nest
therefore reaches lowering, which assumes a canonical nest.

This patch validates the nest that follows such a variant (the next
executable construct) during semantics, reusing the diagnostics of a real
loop-associated construct. Each applicable variant is checked against it:

  * Canonical loop: the affected loop must be a canonical DO loop, so a
    `DO WHILE`, a pre-6.0 `DO CONCURRENT`, or a `DO` without loop control
    is rejected.
  * Nest depth: `collapse(n)` and `ordered(n)` must not exceed the depth
    of the associated loop nest.
  * Rectangularity: loops that must be rectangular (e.g. under `tile`) may
    not have bounds that depend on an outer loop's variable.


    [13 lines not shown]
DeltaFile
+160-0flang/lib/Semantics/check-omp-variant.cpp
+154-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+54-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+13-0flang/test/Semantics/OpenMP/metadirective-loop-sequence.f90
+12-0flang/lib/Semantics/check-omp-structure.h
+11-0flang/lib/Semantics/check-omp-structure.cpp
+404-06 files

LLVM/project 2d06fa7llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer VecUtils.cpp

[SandboxVec] Move user collection to VecUtils and add unit tests
DeltaFile
+226-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
+1-53llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+54-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
+9-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+290-534 files

LLVM/project 3166b22llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine assume.ll

[InstCombine] Sink instructions across assumes (#205314)

Not sinking across assumes causes InstCombine to not reach a fixpoint
when assumes can be dropped due to the load (usually nonnull assumes).
Sinking the instructions causes the assume to not be dropped anymore,
but I don't think that's a big problem.
DeltaFile
+18-0llvm/test/Transforms/InstCombine/assume.ll
+1-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+19-12 files

LLVM/project b88cc21clang/docs ReleaseNotes.md, clang/lib/Sema SemaTemplate.cpp SemaDecl.cpp

[clang] accept member specializations declared in class scope

Explicit specializations are not restricted to namespace scope since CWG727 was
accepted as a DR.

Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.

Fixes #206866
DeltaFile
+41-0clang/test/SemaTemplate/member-specialization.cpp
+5-4clang/lib/Sema/SemaTemplate.cpp
+6-0clang/lib/Sema/SemaDecl.cpp
+1-0clang/docs/ReleaseNotes.md
+53-44 files

LLVM/project 74fdfc6mlir/test/CAPI rewrite.c

[mlir-c] Fix memory leak in ConversionTarget dynamic legality test

mlirFreezeRewritePattern moves contents out of the RewritePatternSet
but does not free the container (set is passed by value in the C API).
Add mlirRewritePatternSetDestroy after freezing to fix LeakSanitizer
failures on Linux.
DeltaFile
+1-0mlir/test/CAPI/rewrite.c
+1-01 files

LLVM/project 73f7d92llvm/include/llvm/Analysis SimplifyQuery.h, llvm/lib/Analysis InstructionSimplify.cpp

Address review comments
DeltaFile
+6-5llvm/include/llvm/Analysis/SimplifyQuery.h
+6-2llvm/test/CodeGen/X86/atomic-idempotent.ll
+1-1llvm/lib/Analysis/InstructionSimplify.cpp
+13-83 files

LLVM/project a07a0fbllvm/include/llvm/Analysis SimplifyQuery.h, llvm/lib/Analysis InstructionSimplify.cpp

Update transformations sensitive to signaling NaNs

Previously exception handling behavior was uses as an indicator of sNaN
support. With introducing a special function attribute `signaling_nans`
the checks for sNaN support must be changed to use the function
attribute rather than the exception behavior.
DeltaFile
+230-22llvm/test/Transforms/InstSimplify/strictfp-fsub.ll
+119-14llvm/test/Transforms/InstSimplify/strictfp-fadd.ll
+23-15llvm/lib/Analysis/InstructionSimplify.cpp
+28-0llvm/test/Transforms/InstSimplify/fdiv-strictfp.ll
+28-0llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
+8-0llvm/include/llvm/Analysis/SimplifyQuery.h
+436-511 files not shown
+436-577 files

LLVM/project 8b8a2d7flang-rt/include/flang-rt/runtime work-queue.h

[flang][cuda] Guard descriptor I/O ticket when building thin I/O (#206865)

The work queue system is also used in the assignment and could lead to
unresolved function when building non relocatable code for the gpu using
the CUDA thin I/O. Just add a guard to keep descriptor I/O out of the
CUDA thin I/O build.
DeltaFile
+14-2flang-rt/include/flang-rt/runtime/work-queue.h
+14-21 files

LLVM/project db5740fcross-project-tests/debuginfo-tests/dexter-tests optnone-vectors-and-functions.cpp optnone-simple-functions.cpp, cross-project-tests/debuginfo-tests/dexter-tests/memvars inlining-dse.c

[Dexter] Update lldb-based dexter-tests to use script-mode (#204367)

This patch replaces uses of heuristic-mode Dexter in the dexter-tests
suite with uses of the script-mode, for tests that use DAP (via
lldb-dap). The updates are largely straightforward but occasionally
non-trivial, and in some cases some slight modifications have been made
to keep the "spirit" of the test intact.
DeltaFile
+92-73cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
+98-51cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
+74-60cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
+58-33cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
+30-19cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
+20-22cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
+372-25821 files not shown
+693-41227 files

LLVM/project 5587443lldb/source/Plugins/SymbolFile/DWARF SymbolFileWasm.cpp

[lldb] Synthesize data symbols for WebAssembly from DWARF (#207235)

The Wasm "name" section names functions but not data, so data symbols
such as C++ vtables have no entry in the symbol table. The Itanium C++
runtime resolves a dynamic type by looking up the symbol at an object's
vtable pointer and reading its "vtable for X" name. With no such symbol,
dynamic type resolution fails and falls back to the static type.

The vtable's address and mangled name are available in the DWARF as a
DW_TAG_variable with a DW_OP_addr location and a DW_AT_linkage_name.
Extend SymbolFileWasm::AddSymbols to synthesize a data symbol for every
global variable of that shape, so its address resolves back to the
mangled name such as "vtable for X". The size is computed by Symtab to
from the gap to the next symbol.

Assisted-by: Claude
DeltaFile
+63-10lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
+63-101 files

LLVM/project 8af376dllvm/lib/Transforms/Vectorize VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-interleave.ll early-exit-live-out.ll

[VPlan] Also expand pointer-typed SCEVAddExpr in VPSCEVExpander. (#206366)

Generalize the SCEVAddExpr handling in VPSCEVExpander::tryToExpand to
also expand pointer-typed adds. The pointer base and the offset are
expanded separately, matching IR SCEVExpander.

PR: https://github.com/llvm/llvm-project/pull/206366
DeltaFile
+13-13llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
+18-4llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+4-4llvm/test/Transforms/LoopVectorize/VPlan/RISCV/expand-scev.ll
+1-1llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
+1-1llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
+37-235 files

LLVM/project 2e6621eclang/lib/CIR/CodeGen CIRGenBuiltin.cpp, clang/test/CIR/CodeGenBuiltins builtins-elementwise.c

[CIR] Support __builtin_elementwise_ceil (#204974)

Add CIR handling for __builtin_elementwise_ceil
DeltaFile
+22-0clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
+1-2clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+23-22 files

LLVM/project 6235698clang/lib/Basic/Targets AArch64.cpp AArch64.h, clang/test/Preprocessor aarch64-target-features.c

[AArch64][clang][llvm] Add ACLE macros to support Armv9.7 (#192948)

This patch add the macros for Armv9.7 according to the ACLE [1]

[1] https://github.com/ARM-software/acle/blob/main/main/acle.md
DeltaFile
+40-0clang/test/Preprocessor/aarch64-target-features.c
+37-1clang/lib/Basic/Targets/AArch64.cpp
+6-0clang/lib/Basic/Targets/AArch64.h
+83-13 files

LLVM/project b50c04dllvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp PassRegistry.def

[SandboxVec] Use AuxArg to determine vectorizer direction
DeltaFile
+35-17llvm/test/Transforms/SandboxVectorizer/external_uses.ll
+23-21llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
+2-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+1-1llvm/test/Transforms/SandboxVectorizer/pack.ll
+1-1llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
+0-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
+62-426 files

LLVM/project b72e8b0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer Legality.h Scheduler.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.h

[SandboxVec] Vectorize in the same direction as the scheduler direction
DeltaFile
+14-10llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+10-12llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
+2-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
+1-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
+27-224 files

LLVM/project b2a4150llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp PassRegistry.def

[SBVec] Implement topDown/botUp vectorizers in unison

This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+304-0llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
+158-21llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+69-10llvm/test/Transforms/SandboxVectorizer/pack.ll
+51-1llvm/test/Transforms/SandboxVectorizer/external_uses.ll
+24-4llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
+1-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
+607-366 files

LLVM/project 1c9ebdalibcxx/test/benchmarks/algorithms/nonmodifying lower_upper_bound.bench.cpp, libcxx/test/benchmarks/algorithms/sorting lower_upper_bound.bench.cpp

[libc++][NFC] Move the lower_bound/upper_bound benchmark to the sorting directory (#207215)

These algorithms are not under [nonmodifying], they are under [sorting]
in the Standard.
DeltaFile
+86-0libcxx/test/benchmarks/algorithms/sorting/lower_upper_bound.bench.cpp
+0-86libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
+86-862 files

LLVM/project 8bf1591mlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

Reapply "[mlir-c] Add ConversionTarget dynamic legality C API" (#207104)

This reverts commit 92313eff069c3148153aa8097ea3780ebc8dc057.
DeltaFile
+180-0mlir/test/CAPI/rewrite.c
+60-0mlir/lib/CAPI/Transforms/Rewrite.cpp
+44-0mlir/include/mlir-c/Rewrite.h
+284-03 files

LLVM/project d052d31clang/test/CodeGen/LoongArch/lasx builtin-alias.c builtin.c, lldb/packages/Python/lldbsuite/test/tools/lldb_dap dap_types.py session_helpers.py

Rebase

Created using spr 1.3.7
DeltaFile
+24,053-23,916llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+2,630-0llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
+2,026-0lldb/packages/Python/lldbsuite/test/tools/lldb_dap/dap_types.py
+1,698-0lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
+733-733clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
+733-733clang/test/CodeGen/LoongArch/lasx/builtin.c
+31,873-25,3821,657 files not shown
+75,216-38,6211,663 files