LLVM/project 6aa8e1cllvm/lib/Target/AMDGPU SIMemoryLegalizer.cpp, llvm/test/CodeGen/AMDGPU memory-legalizer-av-none.ll

[AMDGPU] Implement "non-av" semantics using metadata

When the MMRA tag !{!"amdgcn-av", !"none"} is present on a synchronization
operation (fence, atomic load/store/rmw/cmpxchg), suppress cache writeback
(MakeAvailable) and cache invalidation (MakeVisible) while preserving
memory ordering (waits).

This implements the metadata proposed in #191246.

Fixes: LCOMPILER-2214

Assisted-By: Claude Opus 4.6
DeltaFile
+722-0llvm/test/CodeGen/AMDGPU/memory-legalizer-av-none.ll
+47-29llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
+769-292 files

LLVM/project ee4c5d2clang/test/AST ast-dump-lambda-json.cpp ast-dump-template-json-win32-mangler-crash.cpp, lldb/tools/lldb-dap/extension package-lock.json

Merge branch 'main' into users/kovdan01/pauth-relr-rela-movement
DeltaFile
+23,873-20,923llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+12,365-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+3,903-0llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
+2,504-1,285lldb/tools/lldb-dap/extension/package-lock.json
+0-3,387clang/test/AST/ast-dump-lambda-json.cpp
+7-3,217clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
+42,652-28,8123,377 files not shown
+154,853-85,4223,383 files

LLVM/project 2e344c4llvm/lib/Target/AMDGPU SIMemoryLegalizer.cpp

[AMDGPU] Refactor insertRelease into insertWriteback + insertWait (NFC)

A release consists of two actions: write-back the current cache, and wait for
"relevant" outstanding operations to complete. With the new memory model, it is
possible to disable the cache write-back using "av none" semantics. This patch
cleanly separates the existing implementation so that the write-backs can be
selectively applied when such metadata is present.

Assisted-By: Claude Opus 4.6
DeltaFile
+123-137llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
+123-1371 files

LLVM/project b5b862flld/ELF/Arch LoongArch.cpp, lld/test/ELF loongarch-tls-dtprel.s

[lld][LoongArch] Handle DTPREL relocations in debug sections

Teach the LoongArch lld backend to classify R_LARCH_TLS_DTPREL32
and R_LARCH_TLS_DTPREL64 as R_DTPREL.

This allows linker processing of TLS debug info references emitted
into .debug_info via .dtprelword/.dtpreldword. Add 32-bit and 64-bit
tests that assemble objects with DTPREL relocations in debug sections.
DeltaFile
+34-0lld/test/ELF/loongarch-tls-dtprel.s
+3-0lld/ELF/Arch/LoongArch.cpp
+37-02 files

LLVM/project 47a026eclang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp

[CIR][AMDGPU] Clean up emitAMDGCNImageOverloadedReturnType helper
DeltaFile
+4-37clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+4-371 files

LLVM/project b0a5ba5clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp CIRGenTypes.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-image.hip

[CIR][AMDGPU] Adds lowering for amdgcn image load/store builtins
DeltaFile
+466-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
+106-12clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+17-0clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+589-123 files

LLVM/project aac212futils/bazel/llvm-project-overlay/llvm BUILD.bazel

[Bazel] Fixes e77ae26 (#199476)

This fixes e77ae26ca8ead5ca47dd6ed909031fb3c539a488.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+1-01 files

LLVM/project 9bd8bbb.github/workflows llvm-abi-tests.yml

workflows/llvm-abi-tests: Remove template expansions (#199436)

https://github.com/llvm/llvm-project/security/code-scanning/1655
https://github.com/llvm/llvm-project/security/code-scanning/1656
https://github.com/llvm/llvm-project/security/code-scanning/1657
https://github.com/llvm/llvm-project/security/code-scanning/1658
https://github.com/llvm/llvm-project/security/code-scanning/1659
https://github.com/llvm/llvm-project/security/code-scanning/1660
https://github.com/llvm/llvm-project/security/code-scanning/1661
https://github.com/llvm/llvm-project/security/code-scanning/1662
https://github.com/llvm/llvm-project/security/code-scanning/1663
https://github.com/llvm/llvm-project/security/code-scanning/1664
DeltaFile
+16-7.github/workflows/llvm-abi-tests.yml
+16-71 files

LLVM/project d06febclibcxx/include/__memory shared_ptr.h, libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const shared_ptr_Y.pass.cpp

[libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)

GCC has fixed SFINAEing on `delete` since at least GCC 11, so we can
properly constrain the constructor.
DeltaFile
+1-1libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
+1-1libcxx/include/__memory/shared_ptr.h
+2-22 files

LLVM/project 63bb8dcclang/lib/Driver/ToolChains CommonArgs.cpp

[Mips] Remove mips from omitting the frame pointer for Linux (#199381)

6b1f976858eea5a64f058ca48873be834bd79569 enabled omitting
the frame pointer no matter what OS so remove the now redundancy
with having this on the Linux path.
DeltaFile
+0-4clang/lib/Driver/ToolChains/CommonArgs.cpp
+0-41 files

LLVM/project e77ae26llvm/test/tools/llubi stack_overflow.ll assume_invalid_align.ll, llvm/tools/llubi llubi.cpp

[llubi] Print out inst location in stack trace (#199430)

This patch appends `file:line number` to each frame in the stack trace.
It would improve the debugging experience.

In all test files, the inputs are supplied via stdin. I think it should
be okay, as I don't need to add wildcards for filenames.
DeltaFile
+10-10llvm/test/tools/llubi/stack_overflow.ll
+4-2llvm/tools/llubi/llubi.cpp
+3-3llvm/tools/llubi/lib/Context.cpp
+5-1llvm/tools/llubi/lib/Context.h
+6-0llvm/tools/llubi/lib/ExecutorBase.cpp
+1-1llvm/test/tools/llubi/assume_invalid_align.ll
+29-1753 files not shown
+82-6959 files

LLVM/project bafeb86llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp AMDGPUMCResourceInfo.cpp

[AMDGPU] Introduce ABI occupancy for object linking

This PR introduces ABI occupancy as the contract used to compile functions under
object linking. The default is derived from the occupancy needed for a 1024
workitem workgroup, can be overridden with `-amdgpu-abi-waves-per-eu`, and can
be overridden per function by `amdgpu-flat-work-group-size` or tightened by an
accepted `amdgpu-waves-per-eu` hint.

The backend emits the selected occupancy in `.amdgpu.info` and uses it to
enforce the object linking register budget.
DeltaFile
+67-35llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+53-7llvm/docs/AMDGPUUsage.rst
+37-3llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+34-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-preserves-attr.ll
+32-2llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+31-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-kernel-no-attr.ll
+254-4714 files not shown
+410-4820 files

LLVM/project ad0e4c0clang/lib/AST Decl.cpp DeclCXX.cpp, clang/lib/Sema SemaLookup.cpp

[clang] preserve exact redeclaration for getTemplateInstantiationPattern

This makes these functions not always return the definition if any.
The few users which depend on this are updated to fetch the definition
themselves.

Also fixes the VarDecl variant returning the queried declaration itself.
DeltaFile
+7-28clang/lib/AST/Decl.cpp
+9-10clang/test/AST/ast-dump-templates-pattern.cpp
+3-10clang/lib/AST/DeclCXX.cpp
+6-6clang/test/AST/ast-dump-decl.cpp
+6-4clang/lib/Sema/SemaLookup.cpp
+1-1clang/test/AST/ast-dump-linkage.cpp
+32-592 files not shown
+34-618 files

LLVM/project 4aac0c6llvm/utils/lit/tests/unit Util.py

[AIX] Re-apply: Remove unsupported AIX native echo option -n by using printf (#199395)

AIX native echo doesn't support the `-n` flag.
Use `printf` instead to ensure the test works across all systems and
making it portable.

The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..

    [16 lines not shown]
DeltaFile
+2-2llvm/utils/lit/tests/unit/Util.py
+2-21 files

LLVM/project 8811c2bllvm/lib/Transforms/Scalar ConstantHoisting.cpp

[ConstantHoisting] Avoid DenseMap reference invalidated by insertion (#199468)

Fix https://reviews.llvm.org/D28962 : DenseMap does not promise to keep
references stable across insertion. This happens to work today because
we don't do bucket eviction.

Pre-populate every node up front.
DeltaFile
+6-4llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
+6-41 files

LLVM/project a49c16aclang/include/clang/Serialization ASTRecordReader.h, clang/lib/AST ASTContext.cpp Type.cpp

trivial changes
DeltaFile
+20-14clang/lib/Sema/SemaOpenMP.cpp
+18-14clang/lib/AST/ASTContext.cpp
+16-15clang/lib/Sema/SemaTemplate.cpp
+14-11clang/lib/AST/Type.cpp
+14-8clang/lib/AST/ASTDiagnostic.cpp
+11-6clang/include/clang/Serialization/ASTRecordReader.h
+93-6833 files not shown
+202-15239 files

LLVM/project 7f629daclang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp ItaniumMangle.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.

This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.

Fixes #8740
Fixes #61818
Fixes #190388
DeltaFile
+888-161clang/lib/AST/ASTContext.cpp
+328-12clang/test/SemaTemplate/instantiation-dependence.cpp
+176-96clang/lib/AST/ItaniumMangle.cpp
+100-98clang/lib/Sema/SemaCXXScopeSpec.cpp
+62-57clang/lib/AST/Type.cpp
+88-11clang/include/clang/AST/ASTContext.h
+1,642-43569 files not shown
+2,385-79675 files

LLVM/project a029fb9clang/test/CodeGenCXX visibility.cpp, clang/test/Modules template-default-args-3.cpp template-default-args-2.cpp

[clang] NFC: add some new test cases (#199467)

These are extracted from my current and future PRs.

They don't have much to do with the PRs themselves except that they were
regressions our test suite missed catching.
DeltaFile
+36-0clang/test/Modules/template-default-args-3.cpp
+30-0clang/test/Modules/template-default-args-2.cpp
+22-0clang/test/CodeGenCXX/visibility.cpp
+7-0clang/test/SemaTemplate/partial-spec-instantiate.cpp
+7-0clang/test/SemaTemplate/generic-lambda.cpp
+102-05 files

LLVM/project 11f0e77llvm/lib/CodeGen GCRootLowering.cpp, llvm/test/CodeGen/Generic gc-lowering.ll

[CodeGen][GC] Initialize roots with `Constant::getNullValue()` instead of `ConstantPointerNull::get()` (#199367)

Fixes #199219
DeltaFile
+26-0llvm/test/CodeGen/Generic/gc-lowering.ll
+2-3llvm/lib/CodeGen/GCRootLowering.cpp
+28-32 files

LLVM/project ab17454llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize select-cmp-blend-chain.ll

Revert "[LV] Handle chained selects/blends when creating new rdx chain. (#199443)" (#199461)

This reverts commit 3f561eab147abf17c1838b4e3dc19837837a9740 due to
buildbot breakage
((https://lab.llvm.org/staging/#/builders/7/builds/1736/steps/9/logs/stdio).
DeltaFile
+0-284llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
+24-25llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+24-3092 files

LLVM/project 248d1e8clang/test/CodeGenCXX visibility.cpp, clang/test/Modules template-default-args-3.cpp template-default-args-2.cpp

[clang] NFC: add some new test cases

These are extracted from my current and future PRs.

They don't have much to do with the PRs themselves except that
they were regressions our test suite missed catching.
DeltaFile
+36-0clang/test/Modules/template-default-args-3.cpp
+30-0clang/test/Modules/template-default-args-2.cpp
+22-0clang/test/CodeGenCXX/visibility.cpp
+7-0clang/test/SemaTemplate/generic-lambda.cpp
+7-0clang/test/SemaTemplate/partial-spec-instantiate.cpp
+102-05 files

LLVM/project 53afbc8bolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+150-49bolt/lib/Profile/DataAggregator.cpp
+24-6bolt/include/bolt/Profile/DataAggregator.h
+6-24bolt/tools/driver/llvm-bolt.cpp
+21-2bolt/tools/merge-fdata/merge-fdata.cpp
+22-0bolt/test/merge-fdata-no-lbr-event-multi.test
+10-9bolt/lib/Utils/CommandLineOpts.cpp
+233-909 files not shown
+310-9515 files

LLVM/project 925a1e7bolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.4

[skip ci]
DeltaFile
+120-47bolt/lib/Profile/DataAggregator.cpp
+6-24bolt/tools/driver/llvm-bolt.cpp
+19-4bolt/include/bolt/Profile/DataAggregator.h
+21-2bolt/tools/merge-fdata/merge-fdata.cpp
+22-0bolt/test/merge-fdata-no-lbr-event-multi.test
+18-0bolt/test/merge-fdata-no-lbr-event.test
+206-776 files not shown
+240-8812 files

LLVM/project e8bd5dcllvm/utils/gn/secondary/clang/tools/clang-sycl-linker BUILD.gn

[gn build] Add missing clang-sycl-linker dependency (#199464)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
+1-01 files

LLVM/project 25294a2.github/workflows release-binaries.yml

workflows/release-binaries: Validate input and remove template expansion (#199434)

https://github.com/llvm/llvm-project/security/code-scanning/1699
https://github.com/llvm/llvm-project/security/code-scanning/1700
https://github.com/llvm/llvm-project/security/code-scanning/1701
https://github.com/llvm/llvm-project/security/code-scanning/1702
https://github.com/llvm/llvm-project/security/code-scanning/1703
https://github.com/llvm/llvm-project/security/code-scanning/1704
https://github.com/llvm/llvm-project/security/code-scanning/1705
https://github.com/llvm/llvm-project/security/code-scanning/1706
https://github.com/llvm/llvm-project/security/code-scanning/1707
https://github.com/llvm/llvm-project/security/code-scanning/1708
https://github.com/llvm/llvm-project/security/code-scanning/1709
https://github.com/llvm/llvm-project/security/code-scanning/1710
https://github.com/llvm/llvm-project/security/code-scanning/1711
DeltaFile
+27-12.github/workflows/release-binaries.yml
+27-121 files

LLVM/project 643f8c2llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize select-cmp-blend-chain.ll

Revert "[LV] Handle chained selects/blends when creating new rdx chain. (#199…"

This reverts commit 3f561eab147abf17c1838b4e3dc19837837a9740.
DeltaFile
+0-284llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
+24-25llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+24-3092 files

LLVM/project 72d747dlibcxx/test/std/utilities/memory/specialized.algorithms destroy.h, libcxx/test/support algorithms.h

[libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)

And namespace `util`. This will make helpers provided more consistently,
and potentially allow us to unify test helper namespaces in the future.
DeltaFile
+49-0libcxx/test/support/algorithms.h
+0-47libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
+49-472 files

LLVM/project 38a8cd7clang/lib/Analysis/LifetimeSafety Checker.cpp

[LifetimeSafety] Fix use-after-scope from #198784 (#199455)

This fixes a use-after-scope introduced by #198784 (reported in
https://github.com/llvm/llvm-project/pull/198784#issuecomment-4530043621),
by manually extending the lifetime.

AFAIK clang is built using C++17 [*], hence C++23 P2718R0's lifetime
extension in range-based for loops does not apply.

[*] "Unless otherwise documented, LLVM subprojects are written using
standard C++17 code"
(https://llvm.org/docs/CodingStandards.html#c-standard-versions)
DeltaFile
+5-2clang/lib/Analysis/LifetimeSafety/Checker.cpp
+5-21 files

LLVM/project 3ad076e.github/workflows release-sources.yml

workflows/release-sources: Validate input and remove template expansion (#199426)

https://github.com/llvm/llvm-project/security/code-scanning/1730
https://github.com/llvm/llvm-project/security/code-scanning/1731
https://github.com/llvm/llvm-project/security/code-scanning/1732
https://github.com/llvm/llvm-project/security/code-scanning/1733
DeltaFile
+14-5.github/workflows/release-sources.yml
+14-51 files

LLVM/project 3cfce5fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/AArch64 reduce_submuladd.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+219-41llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
+219-41llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
+137-42llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
+138-30llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+31-98llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
+44-56llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
+788-30836 files not shown
+1,088-76342 files