LLVM/project 051fb5allvm/include/llvm/ADT ArrayRef.h, llvm/unittests/ADT ArrayRefTest.cpp

[ADT] Remove misleading is_const check in MutableArrayRef constructor (#181758)

The `std::negation<std::is_const<C>>` check here seems semantically
inaccurate; we should care about whether the container provides mutable
element access, not the constness of the container itself. This was
already being checked but was previously being dropped prior to the
change from `const C&` to `C&` in
https://github.com/llvm/llvm-project/pull/181190. That was sufficient in
itself to fix the referenced issue
https://github.com/llvm/llvm-project/issues/181176

---------

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+4-0llvm/unittests/ADT/ArrayRefTest.cpp
+0-1llvm/include/llvm/ADT/ArrayRef.h
+4-12 files

LLVM/project 1f008b6lldb/include/lldb/Target Target.h

[lldb/Target] Remove unused include

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+0-1lldb/include/lldb/Target/Target.h
+0-11 files

LLVM/project 140d65flibc/shared rpc_dispatch.h rpc.h

[libc][NFC] Fix comments and macros in the RPC interface

Summary:
Typos and missing include header guards should be fixed now.
DeltaFile
+10-5libc/shared/rpc_dispatch.h
+7-7libc/shared/rpc.h
+1-1libc/shared/rpc_util.h
+1-0libc/shared/rpc_opcodes.h
+19-134 files

LLVM/project 101f88alibc/shared rpc.h rpc_util.h

[libc] Fix move destruction double-freeing ports after move to RAII

Summary:
Recently I changed the interface to use RAII to close the ports. This
exposed a problem where the default move constructor was invoked in the
optional wrapping, this caused the destructor to fire twice on the
server, obviously causing havok. This PR changes the move destructor to
be deleted so this never happens again. Now everything is constructed
once  and only references are allowed. The optional class had to be
fixed to properly set in_use so we run the destructor properly as well.
DeltaFile
+4-12libc/shared/rpc.h
+9-7libc/shared/rpc_util.h
+13-192 files

LLVM/project 9937019lldb/source/Plugins/Highlighter/TreeSitter/Rust RustTreeSitterHighlighter.cpp, lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust grammar.js scanner.c

[lldb] Add tree-sitter based Rust syntax highlighting
DeltaFile
+1,690-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/grammar.js
+393-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/scanner.c
+161-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/highlights.scm
+127-1lldb/unittests/Highlighter/HighlighterTest.cpp
+53-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/tree-sitter.json
+43-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/RustTreeSitterHighlighter.cpp
+2,467-17 files not shown
+2,569-313 files

LLVM/project 3ea8962utils/bazel/llvm-project-overlay/lldb BUILD.bazel

[bazel] Unbreak the build after f03ff95ce20f282db22b40997ee1daa01c01e581
DeltaFile
+3-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+3-01 files

LLVM/project ac545c7libclc CMakeLists.txt, libclc/clc/lib/amdgcn/workitem clc_get_work_dim.cl clc_get_global_offset.cl

libclc: Remove old clang version checks (#181701)

DeltaFile
+1-17libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
+1-17libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
+1-9libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
+1-9libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
+0-6libclc/CMakeLists.txt
+4-585 files

LLVM/project 4a4ab28lldb/source/Plugins/Highlighter/TreeSitter/Swift SwiftTreeSitterHighlighter.cpp SwiftTreeSitterHighlighter.h, lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift grammar.js scanner.c

[lldb] Add tree-sitter based Swift syntax highlighting (#181297)

This adds tree-sitter based Swift syntax highlighting to LLDB. It
consists of the SwiftTreeSitterHighlighter plugin and the vendored Swift
grammar [1], which is licensed under MIT.

[1] https://github.com/alex-pinkus/tree-sitter-swift
DeltaFile
+1,594-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
+865-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
+336-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/highlights.scm
+117-2lldb/unittests/Highlighter/HighlighterTest.cpp
+43-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
+40-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h
+2,995-27 files not shown
+3,143-213 files

LLVM/project e8a7881llvm/lib/Target/AArch64 AArch64Combine.td, llvm/lib/Target/AArch64/GISel AArch64PostLegalizerCombiner.cpp

[AArch64][GlobalISel] Reassociate add sub mul. (#180753)

This is a port of performSubAddMULCombine from D143143. The mid end will
reassociate sub(sub(x, m1), m2) to sub(x, add(m1, m2)). This
reassociates it back to allow the creation of more mls instructions.
DeltaFile
+47-112llvm/test/CodeGen/AArch64/reassocmls.ll
+24-28llvm/test/CodeGen/AArch64/aarch64-smull.ll
+34-0llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
+12-1llvm/lib/Target/AArch64/AArch64Combine.td
+117-1414 files

LLVM/project be28e55libcxx/include/__vector vector.h

[libc++] Memoise `size()` in `vector::__assign_with_size` (#180288)

This is an optimisation from the size-based vector project that's
applicable to all vector implementations.
DeltaFile
+4-3libcxx/include/__vector/vector.h
+4-31 files

LLVM/project 32060b9lldb/source/Plugins/Highlighter/TreeSitter CMakeLists.txt, lldb/unittests/Highlighter HighlighterTest.cpp

Add more unit tests
DeltaFile
+88-0lldb/unittests/Highlighter/HighlighterTest.cpp
+3-0lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
+91-02 files

LLVM/project d5607adpolly/include/polly ScopInfo.h, polly/lib/Analysis ScopInfo.cpp

[Polly][ScopInfo] Lazy Scop instantiation (#179535)

The old NPM was using ScopInfo pass introduced in
https://reviews.llvm.org/D20962, which in contrast to the LPM was using
ScopInfoRegionPass. ScopInfo was instantiating all Scop objects
immediately. After codegenning, all Scop objects need to be recomputed
anyway, making this approach wastful. The PhaseManager inherited this
behaviour from the NPM, leading to some concerns.

Replace the instantiate-all behavior of ScopInfo with an on-demand
instantiation. SCoPs now must be iterated using ScopDetection instead
using ScopInfo, but only some unsed legacy NPM passes (now removed) were
doing that anyway.
DeltaFile
+19-62polly/lib/Analysis/ScopInfo.cpp
+3-45polly/include/polly/ScopInfo.h
+11-11polly/lib/Pass/PhaseManager.cpp
+33-1183 files

LLVM/project 6d91695lld/ELF Relocations.cpp, lld/ELF/Arch Hexagon.cpp

[ELF] Add target-specific relocation scanning for Hexagon (#181596)

Implement Hexagon::scanSectionImpl, following the pattern established
for x86 (#178846) and PPC64. This merges the getRelExpr and TLS handling
for
SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.

- Inline relocation classification into scanSectionImpl with a switch
  on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
  relocations.
- Handle GD PLT relocations inline, always setting NEEDS_PLT. Remove
  the R_HEX_GD_PLT special case from process().
- Handle TLS IE, GD GOT, and TPREL directly, bypassing
  handleTlsRelocation. Remove EM_HEXAGON from the execOptimize check.
- Simplify getRelExpr to only handle relocations needed by
  relocateNonAlloc and scanEhSection.
DeltaFile
+133-57lld/ELF/Arch/Hexagon.cpp
+2-10lld/ELF/Relocations.cpp
+135-672 files

LLVM/project 7679d02llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/CodeGen/X86 atomic-nocx16-win.ll

[X86] Correctly call 16 byte atomic helpers on x86_64 Windows (#181356)

On x86_64 Windows, i128 values are returned in xmm0, and as arguments to
functions, they are passed indirectly (rather than in a GPR pair) - see
WinX86_64ABIInfo::classify in Clang [1].

When AtomicExpandPass generates a libcall, it normally generates one
with i128 arguments and return types. This type isn't lowered correctly
(it ends up passed or returned in a pair of GPRs).

To fix this issue, make AtomicExpandPass use the v2i64 type instead of
i128 here, just like Clang would do for an explicit function call; this
type ends up lowered correctly.

This fixes https://github.com/mstorsjo/llvm-mingw/issues/538 and
https://github.com/llvm/llvm-project/issues/136428.

[1]
https://github.com/llvm/llvm-project/blob/llvmorg-21.1.8/clang/lib/CodeGen/Targets/X86.cpp#L3390-L3408
DeltaFile
+38-0llvm/test/CodeGen/X86/atomic-nocx16-win.ll
+10-0llvm/lib/CodeGen/AtomicExpandPass.cpp
+48-02 files

LLVM/project 4b79602lldb/source/Plugins/Highlighter/TreeSitter/Swift SwiftTreeSitterHighlighter.cpp SwiftTreeSitterHighlighter.h, lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift grammar.js scanner.c

[lldb] Add tree-sitter based Swift syntax highlighting

This adds tree-sitter based Swift syntax highlighting to LLDB. It
consists of the SwiftTreeSitterHighlighter plugin and the Swift grammar
from [1], which is licensed under MIT.

[1] https://github.com/alex-pinkus/tree-sitter-swift

Depends on:
*  https://github.com/llvm/llvm-project/pull/181282
DeltaFile
+1,594-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
+865-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
+336-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/highlights.scm
+43-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
+40-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h
+39-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/tree-sitter.json
+2,917-06 files not shown
+3,036-212 files

LLVM/project 14a5a15lldb/source/Plugins/Highlighter/TreeSitter README.md

Add README
DeltaFile
+16-0lldb/source/Plugins/Highlighter/TreeSitter/README.md
+16-01 files

LLVM/project 7c2109flldb/source/Plugins/Highlighter/TreeSitter TreeSitterHighlighter.cpp TreeSitterHighlighter.h

[lldb] Fix compile error when tree-sitter is enabled

Not sure how this slipped in, I must have messed up something with the
stacked pull requests.
DeltaFile
+6-6lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.cpp
+2-2lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.h
+8-82 files

LLVM/project 2ff4ec1llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 revec-split-entry.ll

[SLP]Fix revec in split nodes

Initially split nodes do not support vector entries in revec mode, patch
fixes the issue by adding analysis for the scale factor

Fixes #181546
DeltaFile
+107-0llvm/test/Transforms/SLPVectorizer/X86/revec-split-entry.ll
+18-10llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+125-102 files

LLVM/project 41c6aa6clang/include/clang/Analysis/Scalable/Model EntityLinkage.h PrivateFieldNames.def, clang/include/clang/Analysis/Scalable/TUSummary TUSummary.h

[clang][ssaf] Add EntityLinkage data structure (#181718)

This commit introduces the `EntityLinkage` class to represent the
linkage properties (`None`, `Internal`, `External`) of entities in the
SSAF framework and integrates it into the `TUSummary` class to enable
tracking this information across translation units.

rdar://162571047

Assisted-By: Claude
DeltaFile
+48-0clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
+39-0clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
+4-0clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
+2-0clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
+1-0clang/unittests/Analysis/Scalable/CMakeLists.txt
+94-05 files

LLVM/project 4e8b7bd.ci/buildbot worker.py

[CI][ScriptedBuilder] Avoid python 3.12-only option (#181746)

The shutil.rmtree(onexc=) parameter was only added in Python 3.12. Use
onerror= instead whose callback signature takes a different third
parameter which is ignored anyway.
DeltaFile
+1-1.ci/buildbot/worker.py
+1-11 files

LLVM/project 227d8d3llvm/include/llvm/Support ProgramStack.h, llvm/lib/Support ProgramStack.cpp CrashRecoveryContext.cpp

[llvm][clang] Revert split stacks implementation from runOnNewStack (#181743)

This was potentially causing Clang to emit out of stack space warnings
in rare cases, so I'm reverting it until I can verify the issue. This
keeps the API change as that's known not to be the issue.
DeltaFile
+1-69llvm/lib/Support/ProgramStack.cpp
+0-11llvm/include/llvm/Support/ProgramStack.h
+0-5llvm/lib/Support/CrashRecoveryContext.cpp
+1-853 files

LLVM/project eb85fc7llvm/lib/CodeGen MachineVerifier.cpp

[NFC][CodeGen] Minor code cleanup in MIR FrameIndex verification (#181551)

Use variable names conforming to LLVM CS and shorten the code a bit
using `dyn_cast_if_present`.
DeltaFile
+13-15llvm/lib/CodeGen/MachineVerifier.cpp
+13-151 files

LLVM/project 31438d5llvm/utils/TableGen/Common CodeGenRegisters.cpp

[NFC][TableGen] Use convertInitializerToInt in CodeGenRegister (#180968)

DeltaFile
+1-2llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+1-21 files

LLVM/project 4973c9bclang/test/Driver aarch64-v97a.c, llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64Features.td

[AArch64][llvm] Remove +cmh gating (#181662)

Remove gating of `shuh` and `stcph` since these are instructions from
the HINT space, and therefore is a NOP on cores that don't implement it,
so gating is superfluous. gcc doesn't gate these, so remove for better
compatibility.
DeltaFile
+7-13llvm/test/MC/AArch64/armv9.7a-memsys.s
+2-6llvm/lib/Target/AArch64/AArch64InstrInfo.td
+1-4llvm/unittests/TargetParser/TargetParserTest.cpp
+0-4clang/test/Driver/aarch64-v97a.c
+0-2llvm/lib/Target/AArch64/AArch64Features.td
+0-1llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+10-301 files not shown
+10-317 files

LLVM/project d85576dlibc/docs/gpu rpc.rst, libc/shared rpc.h

[libc] Replace RPC 'close()' mechanism with RAII handler (#181690)

Summary:
Closing ports was previously done manually, This makes the protocol more
error prone as unclosed ports will leak and eventually the locks will
run out. I believe the original fear was that the RAII portion would
negatively impact code generation but I have not noticed anything
significant.
DeltaFile
+0-4libc/docs/gpu/rpc.rst
+2-2libc/shared/rpc.h
+0-2libc/test/integration/startup/gpu/rpc_stream_test.cpp
+0-2libc/test/integration/startup/gpu/rpc_test.cpp
+0-2llvm/tools/llvm-gpu-loader/server.h
+0-2libc/src/stdio/gpu/file.h
+2-1423 files not shown
+2-3829 files

LLVM/project 5a9901blldb/source/Plugins/Highlighter/TreeSitter README.md

Add README
DeltaFile
+16-0lldb/source/Plugins/Highlighter/TreeSitter/README.md
+16-01 files

LLVM/project 7c3c9c4clang/include/clang/Analysis/Scalable/Serialization JSONFormat.h SerializationFormat.h, clang/lib/Analysis/Scalable/Serialization JSONFormat.cpp

[clang][ssaf] Implement JSONFormat (#180021)

This PR implements JSON serialization and deserialization support for
SSAF. To enable error reporting, the interface of `SerializationFormat`
APIs has been updated to return `llvm::Expected`. Error messages
produced by the `JSONFormat` implementation include multiline context
indicating the _conceptual_ path that led to the failure.

rdar://168770769
rdar://168929437

Assisted-By: claude
DeltaFile
+1,847-0clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
+986-0clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
+128-0clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
+36-21clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
+9-3clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
+6-2clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
+3,012-266 files not shown
+3,022-2912 files

LLVM/project c4e8adfllvm/lib/Transforms/Vectorize VPlan.cpp, llvm/test/Transforms/LoopVectorize/X86 predicated-instruction-cost.ll

[VPlan] Skip gather/scatters in useEmulatedMaskMemRefHack.

The legacy cost model skips gather/scatters when determining the
predicated stores in useEmulatedMaskMemRefHack. Match the behavior in
the VPlan-based implementation. This fixes a cost divergence in the
attached test.
DeltaFile
+147-1llvm/test/Transforms/LoopVectorize/X86/predicated-instruction-cost.ll
+16-4llvm/lib/Transforms/Vectorize/VPlan.cpp
+163-52 files

LLVM/project 149fa17mlir/include/mlir/Dialect/AMDGPU/IR AMDGPUOps.td, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[mlir][AMDGPU] Update gather_to_lds with explicit-async support (#181082)

This commit takes advantage of the new `load.async.to.lds` intrinsic in
order to add an `async` mode to `gather_to_lds`. In this mode,
completion of the load needs to be managed with `asyncmark` and
`wait.asyncmark` intrinsics instead of being implicitly derived by alias
analysis.

This commit adds the flag, a lowering for it, and updates tests.

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+76-0mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
+14-9mlir/test/Dialect/AMDGPU/ops.mlir
+13-5mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+10-2mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+113-164 files

LLVM/project e17de2emlir/include/mlir/Dialect/LLVMIR ROCDLOps.td

[NFC][mlir][ROCDL] Add asyncmark, wait.asyncmark examples (#181742)

Examples were requested in post-commit review, add them
DeltaFile
+10-0mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+10-01 files