LLVM/project 0ef35beclang/lib/AST/ByteCode Interp.h, clang/test/AST/ByteCode invalid.cpp

[clang][bytecode] Don't deref() non-dereferencable pointers (#200774)

That shouldn't happen and the isDummy() check wasn't enough.
DeltaFile
+11-0clang/test/AST/ByteCode/invalid.cpp
+1-1clang/lib/AST/ByteCode/Interp.h
+12-12 files

LLVM/project ec36683llvm/test/Transforms/SLPVectorizer/X86 store-load-forward-conflict.ll

[SLP][NFC] Pre-commit tests for store-to-load forwarding bail-out (#199908)
DeltaFile
+802-0llvm/test/Transforms/SLPVectorizer/X86/store-load-forward-conflict.ll
+802-01 files

LLVM/project 725c818clang-tools-extra Maintainers.rst Maintainers.md, clang/test/Sema warn-lifetime-safety.cpp

Merge branch 'main' into users/KseniyaTikhomirova/kernel_submit_parallel_4
DeltaFile
+16-448llvm/test/CodeGen/AArch64/clmul-scalable.ll
+186-0flang/test/Lower/OpenMP/dyn-groupprivate-clause.f90
+160-0clang/test/Sema/warn-lifetime-safety.cpp
+54-40llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+0-84clang-tools-extra/Maintainers.rst
+82-0clang-tools-extra/Maintainers.md
+498-57234 files not shown
+979-70440 files

LLVM/project 2666b44llvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/lib/Transforms/Vectorize VectorCombine.cpp

[InstCombine][VectorCombine] Move bitcast vp.load fold into VectorCombine (#200321)

Fixes https://github.com/llvm/llvm-project/issues/199896

In #192173 we started folding bitcasts of vp.loads with an all ones mask
into a vp.load with the casted type. However on RISC-V a vp.load of an
i1 vector is illegal (since there's no masked variant of `vlm.v`), and
we have no way of checking this in InstCombine.

This moves the fold into VectorCombine so we can query TTI if the cost
is legal (and profitable)

As a side note, it may be possible to lower a vp.load of an i1 vector on
RISC-V to `vlm.v` **only** if the mask is all ones. But this means the
lowering would only be valid for certain values, which is difficult to
cost. And I'm not sure if it would be profitable anyway.
DeltaFile
+86-0llvm/test/Transforms/VectorCombine/RISCV/fold-vp-load.ll
+0-73llvm/test/Transforms/InstCombine/fold-vp-load.ll
+61-0llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+0-41llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+147-1144 files

LLVM/project e147a40llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis exact-siv-mul-overflow.ll

[DA] Fix overflow in the Exact test
DeltaFile
+8-6llvm/lib/Analysis/DependenceAnalysis.cpp
+1-3llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
+9-92 files

LLVM/project f4711c9libsycl/src/detail queue_impl.cpp

fix merge conflict

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
DeltaFile
+6-7libsycl/src/detail/queue_impl.cpp
+6-71 files

LLVM/project 56c9a2cflang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP dyn-groupprivate-clause.f90

[flang][mlir] Add flang to mlir lowering for dyn_groupprivate (#180938)

This PR implements the Flang frontend lowering for the
`dyn_groupprivate` clause
Changes:
- Add ClauseProcessor handling for DynGroupprivate clause
- Generate appropriate MLIR representation for dyn_groupprivate
- Add/update test cases for dyn_groupprivate lowering
- Remove TODO marker for dyn_groupprivate clause
DeltaFile
+186-0flang/test/Lower/OpenMP/dyn-groupprivate-clause.f90
+68-0flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+18-0llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
+0-10flang/test/Lower/OpenMP/Todo/dyn-groupprivate-clause.f90
+7-2flang/lib/Lower/OpenMP/OpenMP.cpp
+3-1flang/lib/Lower/OpenMP/ClauseProcessor.h
+282-136 files

LLVM/project 7f60a03llvm/lib/IR AsmWriter.cpp

remove dead AsmWriter code for uselistorder_bb

Created using spr 1.3.8-wip
DeltaFile
+3-12llvm/lib/IR/AsmWriter.cpp
+3-121 files

LLVM/project 421b27cllvm/lib/AsmParser LLParser.cpp, llvm/test/Assembler dbg-intrinsic-forward-ref-upgrade.ll

[AsmParser] Apply deferred debug locations before intrinsic upgrade. (#200779)

Intrinsic upgrades may delete instructions, leaving dangling pointers
that may be accessed when applying deferred debug locations after
91b77dc (#200649).

Fix by applying deferred debug locations before intrinsic upgrade.

PR: https://github.com/llvm/llvm-project/pull/200779
DeltaFile
+24-22llvm/lib/AsmParser/LLParser.cpp
+38-0llvm/test/Assembler/dbg-intrinsic-forward-ref-upgrade.ll
+62-222 files

LLVM/project 8ee9feaclang/docs ReleaseNotes.rst, clang/lib/Sema SemaChecking.cpp

Addressing reviewer feedback

Created using spr 1.3.7
DeltaFile
+7-7compiler-rt/lib/safestack/safestack.cpp
+3-3compiler-rt/include/sanitizer/safestack_interface.h
+5-0clang/docs/ReleaseNotes.rst
+0-4clang/lib/Sema/SemaChecking.cpp
+15-144 files

LLVM/project 374d53dllvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll llvm.amdgcn.av.load.b128.ll

Merge branch 'main' into users/KseniyaTikhomirova/kernel_submit_parallel_4
DeltaFile
+23,873-20,923llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+17,332-16,290llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+11,355-10,407llvm/test/CodeGen/Thumb2/mve-clmul.ll
+12,365-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+1,286-8,811llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
+76,680-56,44117,876 files not shown
+1,153,668-530,54917,882 files

LLVM/project 06a8d9bmlir/lib/Dialect/Bufferization/Transforms StaticMemoryPlannerAnalysis.cpp, mlir/test/Dialect/Bufferization/Transforms static-memory-planner-analysis.mlir

[mlir][bufferization] Implement e2e IR transformation for static memory planner

This adds the complete transformation pass that converts multiple
memref.alloc/dealloc pairs into a single arena with subviews.

The offset assignment is intentionally simple (just sequential) - this
establishes the e2e pipeline so we can add smarter bin-packing later.

Tests verify arena sizing, sequential offsets, and that dynamic shapes
or missing deallocations are correctly skipped.
DeltaFile
+81-70mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
+35-15mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-analysis.mlir
+116-852 files

LLVM/project 9863725llvm/test/Analysis/DependenceAnalysis exact-siv-mul-overflow.ll

[DA] Add test for the Exact test misses dependency due to overflow (NFC) (#200780)

This patch adds a test case that demonstrates that the Exact test misses
the dependency due to mishandling of overflow. The test case is taken
from #200766.
DeltaFile
+54-0llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
+54-01 files

LLVM/project faa87b0llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 clmul-scalable.ll

[AArch64] Lower scalable i64 CLMUL with SVE2/SME (#198999)

When AES or SSVE-AES are not available, but SVE2 or SME are,
clmul.nxv2i64 can benefit from a cross-byte CLMUL of .S precision. This
re-uses the functionality added for nxv8i16.
DeltaFile
+16-448llvm/test/CodeGen/AArch64/clmul-scalable.ll
+54-40llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+70-4882 files

LLVM/project caf469dllvm/include/llvm/Support ConvertUTF.h, llvm/lib/Support ConvertUTFWrapper.cpp

[Support] Take ArrayRef in convertWideToUTF8 (#200687)

`convertWideToUTF8` took a `std::wstring`, but it never modified its
data. An `ArrayRef` or `std::wstring_view` are sufficient here. I chose
`ArrayRef<wchar_t>` over `std::wstring_view`, because it can be
implicitly constructed from any range that provides `data()` and
`size()`. A second overload taking a `const wchar_t *` is provided to
convert null terminated wide C-strings.
DeltaFile
+10-5llvm/include/llvm/Support/ConvertUTF.h
+5-1llvm/lib/Support/ConvertUTFWrapper.cpp
+15-62 files

LLVM/project 73ded45clang/lib/Analysis LiveVariables.cpp, clang/lib/StaticAnalyzer/Core ExprEngineCXX.cpp

[Liveness][analyzer] Fix handling of [[assume]] attributes  (#198618)

Before this commit, if the analyzer encountered code like
```
int f(int a, int b) {
  [[assume(a == 2), assume(b == 3)]];
  return a + b;
}
```
it performed the following steps:
1. It visited the expression `a == 2` with `ExprEngine::Visit` (after
visiting its sub-expressions, within the regular visitation that visits
each statement of the `CFGBlock`). This triggered the `EagerlyAssume`
logic and separated two execution paths.
2. It discarded the result bound to `a == 2` from the `Environment`
because `a == 2` is not a direct child of the `AttributedStmt`.
3. Analogously, it visited an evaluated `b == 3`.
4. Analogously, it discarded the result bound to `b == 3`.
5. On each execution path `VisitAttributedStmt` was reached, it ran the

    [32 lines not shown]
DeltaFile
+27-5clang/test/Analysis/cxx23-assume-attribute.cpp
+16-4clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
+9-0clang/lib/Analysis/LiveVariables.cpp
+52-93 files

LLVM/project 9738adalibsycl/include/sycl/__impl queue.hpp, libsycl/include/sycl/__impl/detail unified_range_view.hpp get_device_kernel_info.hpp

[libsycl] Add single_task (#192499)

Depends on liboffload PR:
https://github.com/llvm/llvm-project/pull/194333.

The approach with void sycl_kernel_launch(pack of arguments) implies
that
we can use or copy arguments only during that call. Since it pass only
kernel arguments as parameters and returns void - we have to split
setting
of extra kernel data like event dependencies and range and getting
result
event from arguments handling and direct kernel submision if it is
possible. Key stages: 1) passing to queue (or handler in future)
dependency
events and range (for parallel_for), saving them in queue (copy/move).
2)
wrapping kernel arguments into typeless wrappers (pointer based,
initially

    [39 lines not shown]
DeltaFile
+113-0libsycl/src/detail/queue_impl.cpp
+100-0libsycl/include/sycl/__impl/queue.hpp
+53-0libsycl/test/basic/get_backend.cpp
+51-0libsycl/include/sycl/__impl/detail/unified_range_view.hpp
+43-0libsycl/include/sycl/__impl/detail/get_device_kernel_info.hpp
+40-0libsycl/src/detail/queue_impl.hpp
+400-06 files not shown
+468-012 files

LLVM/project 0059fe6clang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

[LifetimeSafety] Add support for lifetime capture_by (#196884)

This PR implements support for the `[[clang::lifetime_capture_by(X)]]`
attribute within the lifetime-safety analysis.

The PR introduces a new helper in `FactGenerator.cpp` called
`handleLifetimeCaptureBy` which detects
`[[clang::lifetime_capture_by(X)]]` on parameters. If detected, the
analyzer now generates an `OriginFlowFact` ensuring that captured
dependencies are added to the capturer's state. The PR supports
capture_by params and `this` and currently doesn't implement attributes
on function declarations.

Example:
Integrate `[[clang::lifetimebound]]`: This existing Clang annotation is
crucial for specifying that the lifetime of a function's output is tied
to one of its inputs.

```cpp

    [60 lines not shown]
DeltaFile
+160-0clang/test/Sema/warn-lifetime-safety.cpp
+61-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+5-0clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+226-03 files

LLVM/project 8fed372clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn.hip

[CIR][AMDGPU] Implement lowering for __builtin_amdgcn_dispatch_ptr
DeltaFile
+29-6clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+8-0clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
+37-62 files

LLVM/project 02d839allvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis exact-siv-mul-overflow.ll

[DA] Fix overflow in the Exact test
DeltaFile
+8-6llvm/lib/Analysis/DependenceAnalysis.cpp
+1-3llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
+9-92 files

LLVM/project 7872403llvm/test/Analysis/DependenceAnalysis exact-siv-mul-overflow.ll

[DA] Add test for the Exact test misses dependency due to overflow
DeltaFile
+54-0llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
+54-01 files

LLVM/project 356d7e6llvm/lib/IR Value.cpp, llvm/test/Analysis/ValueTracking memory-dereferenceable.ll

[IR] Handle nofree noalias in canBeFreed() (#200194)

Based on the argument nofree semantics specified in
https://github.com/llvm/llvm-project/pull/195658, we can conclude that
an argument with both nofree and noalias cannot be freed.

This also handles the case of readonly + noalias, to be consistent with
the logic for functions (and because we had a FIXME for it...)
DeltaFile
+20-7llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
+6-0llvm/lib/IR/Value.cpp
+26-72 files

LLVM/project bd1b3d4lldb/include/lldb/Core Mangled.h, lldb/source/Core Mangled.cpp

[lldb] Reduce size of Mangled class (#200181)

The Mangled class is used in several places in LLDB, most notably as a
direct member of Symbol. This makes this class one of the most
frequently long-lived allocations in LLDB.

In commit a2672250be871bdac18c1a955265a98704434218 , this class got a
(large) cache that stores information about demangled data. This cache
is stored in a std::optional member, which means the memory for the
class is allocated within our Mangled object. It should be noted that
this cache is only used when we actually demangle the name, which
doesn't happen for every mangled name we encounter.

The additional cache member caused that the size of Mangled went from
16B to 152B by default (that is, even if the Mangled name was never
demangled).

This patch replaces the std::optional with a unique_ptr which stores the
cache on first use in a separate heap allocation. This changes decreases
the amount of allocated memory when debugging a relatively small
Objective-C project from 1.57GiB to 1.18GiB (-400MiB).
DeltaFile
+21-19lldb/unittests/Core/MangledTest.cpp
+24-2lldb/include/lldb/Core/Mangled.h
+6-6lldb/source/Core/Mangled.cpp
+1-1lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+52-284 files

LLVM/project 919f72a.github CODEOWNERS, libc/docs porting.rst

[docs] Remove all references to Maintainers.rst (#200368)

All projects are using Maintainers.md files as of #200365.
DeltaFile
+4-5llvm/docs/DeveloperPolicy.rst
+2-2llvm/docs/Contributing.rst
+1-1.github/CODEOWNERS
+1-1libc/docs/porting.rst
+8-94 files

LLVM/project 105e8cellvm/include/llvm/IR CFG.h, llvm/lib/AsmParser LLParser.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+0-51llvm/lib/AsmParser/LLParser.cpp
+0-42llvm/test/Assembler/uselistorder_bb.ll
+5-17llvm/include/llvm/IR/CFG.h
+2-14llvm/lib/CodeGen/IndirectBrExpandPass.cpp
+0-11llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
+0-11llvm/test/Assembler/invalid-uselistorder_bb-float-literal.ll
+7-14616 files not shown
+21-19022 files

LLVM/project 050c202clang-tools-extra Maintainers.md, clang-tools-extra/docs conf.py Maintainers.md

[clang-tools-extra][docs] Convert maintainers file to Markdown (#200365)

Following the way clang does it.

* Moved files to .md (done in #200769).
* Reformatted into Markdown.
* Changed the stub file docs/Maintainers.rst into docs/Maintainers.md
and used a myst directive for the include.
* In the config file, added myst parser and ".md" as a recognised file
extension.

After this change, all maintainers files in llvm-project will be in
Markdown format.
DeltaFile
+54-56clang-tools-extra/Maintainers.md
+3-2clang-tools-extra/docs/conf.py
+2-1clang-tools-extra/docs/Maintainers.md
+1-1llvm/Maintainers.md
+60-604 files

LLVM/project 1b24a40clang-tools-extra Maintainers.md Maintainers.rst, clang-tools-extra/docs Maintainers.rst Maintainers.md

[clang-tools-extra] Move maintainer files to .md files (#200769)

Without any formatting changes. This will break the docs build, but a
follow up (#200365) will fix the formatting and so on.
DeltaFile
+84-0clang-tools-extra/Maintainers.md
+0-84clang-tools-extra/Maintainers.rst
+0-1clang-tools-extra/docs/Maintainers.rst
+1-0clang-tools-extra/docs/Maintainers.md
+85-854 files

LLVM/project 044b63dclang/lib/AST/ByteCode Compiler.cpp

[clang][bytecode][NFC] Avoid some code duplication for `ScalarValueInitExpr` (#200755)
DeltaFile
+13-26clang/lib/AST/ByteCode/Compiler.cpp
+13-261 files

LLVM/project 1678d2elibsycl/src/detail queue_impl.cpp

fix liboffload usage

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
DeltaFile
+5-3libsycl/src/detail/queue_impl.cpp
+5-31 files

LLVM/project 4176fb6lld/test/ELF aarch64-reloc-pauth.s

Address review comments
DeltaFile
+5-11lld/test/ELF/aarch64-reloc-pauth.s
+5-111 files