LLVM/project e54923bclang/include/clang/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers TypeConstrainedPointers.h, clang/lib/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers TypeConstrainedPointers.cpp

remove irrelevant comments
DeltaFile
+0-3clang/lib/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointers.cpp
+0-3clang/include/clang/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointers.h
+0-62 files

LLVM/project 55dacffclang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete OperatorNewDeletePointers.h, clang/include/clang/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers TypeConstrainedPointers.h

[SSAF][NFC] Rename operator new/delete pointers analysis to TypeConstrainedPointers

There will be more such pointer entities that must retain their type
during the clang-reforge transformation. Since they are extracted and
processed similarly, combining them into a single analysis simplifies
maintenance. Therefore, we are using TypeConstrainedPointers as the
umbrella name.
DeltaFile
+0-260clang/unittests/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractorTest.cpp
+260-0clang/unittests/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointersExtractorTest.cpp
+259-0clang/lib/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointers.cpp
+0-258clang/lib/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.cpp
+0-79clang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.h
+78-0clang/include/clang/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointers.h
+597-59721 files not shown
+891-89127 files

LLVM/project 3b36c2dllvm/test/Transforms/SLPVectorizer/AMDGPU add_sub_sat-inseltpoison.ll add_sub_sat.ll

AMDGPU: Migrate Analysis/Transforms tests to amdgpu subarch triple (4) (#208812)

Continue migrating command-line target spelling on RUN lines to the
folded amdgpu subarch triple form, covering the remaining Transforms tests in
this group.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/bswap-inseltpoison.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/bswap.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/round-inseltpoison.ll
+18-1830 files not shown
+62-6836 files

LLVM/project ed1e356clang/lib/Driver/ToolChains AMDGPU.cpp, clang/test/Driver amdgpu-openmp-gpu-max-threads-per-block.c

clang/AMDGPU: Remove driver restriction on --gpu-max-threads-per-block (#204864)
DeltaFile
+14-0clang/test/Frontend/openmp-warn-gpu-max-threads-per-block.c
+2-8clang/lib/Driver/ToolChains/AMDGPU.cpp
+6-0clang/test/Driver/amdgpu-openmp-gpu-max-threads-per-block.c
+22-83 files

LLVM/project 4df4330lldb/test/API/functionalities/gdb_remote_client TestXMLRegisterFlags.py TestAArch64XMLRegistersSVEOnly.py, lldb/test/API/linux/aarch64/permission_overlay TestAArch64LinuxPOE.py

[lldb][test] Update whitespace of `register read` in some tests (#208838)

#188049 changed the formatting of `register read` output. A few tests
are failing now due to small space changes.
DeltaFile
+18-18lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
+15-15lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
+5-5lldb/test/API/functionalities/gdb_remote_client/TestAArch64XMLRegistersSVEOnly.py
+38-383 files

LLVM/project d09048aclang/include/clang/AST StmtCXX.h, clang/lib/Sema SemaExpand.cpp SemaStmt.cpp

[Clang] [C++26] Expansion Statements (P1306R5) (#169680)

This implements C++26's expansion statements, i.e.
[P1306R5](https://wg21.link/P1306R5).

An expansion statement is implemented using a number of new AST
nodes. Since an expansion statement is a template, we need it to be
a dependent DeclContext, but only nodes that inherit from Decl can
be DeclContexts, for which reason this introduces a CXXExpansionStmtDecl.
This holds a synthesised constant template parameter used as the
expansion index as well as a 'CXXExpansionStmtPattern' and a
'CXXExpansionStmtInstantiation.

These two AST nodes are similar to the semantic vs syntactic form
of an InitListExpr: the 'Pattern' represents an unexpanded expansion
statement, and the resulting AST after expansion is stored in an
'Instantiation'.

Since expansion statements require us to perform template instantiation

    [9 lines not shown]
DeltaFile
+1,591-0clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
+1,518-0clang/test/CodeGenCXX/cxx2c-enumerating-expansion-statements.cpp
+643-0clang/lib/Sema/SemaExpand.cpp
+579-0clang/include/clang/AST/StmtCXX.h
+551-0clang/test/CodeGenCXX/cxx2c-iterating-expansion-stmt.cpp
+308-226clang/lib/Sema/SemaStmt.cpp
+5,190-22675 files not shown
+8,569-34981 files

LLVM/project cf51c12clang-tools-extra/clang-doc/support File.h Utils.h

[clang-doc] Update include guards in header files (#208840)

These do not follow the style guide, and Utils.h has the wrong macro
definition.
DeltaFile
+3-3clang-tools-extra/clang-doc/support/File.h
+3-3clang-tools-extra/clang-doc/support/Utils.h
+6-62 files

LLVM/project 8a4a2aellvm/docs GettingStarted.md

[GettingStarted] Clarify Python requirement. (#208790)

We don't support building LLVM without python in any configuration;
clarify that it's a hard requirement.
DeltaFile
+4-7llvm/docs/GettingStarted.md
+4-71 files

LLVM/project 160ff82clang-tools-extra/clang-doc BitcodeWriter.cpp

[clang-doc][nfc] Delete commented out code (#208843)
DeltaFile
+0-1clang-tools-extra/clang-doc/BitcodeWriter.cpp
+0-11 files

LLVM/project 1dbefedclang-tools-extra/clang-doc Representation.cpp

[clang-doc][nfc] Remove stale FIXME (#208795)

This was fixed a long time ago when relanding arena support. This FIXME
was missed when we folded in the deep copying to the reland. It can
safely be removed, as the situation it warns about cannot happen
anymore.
DeltaFile
+0-5clang-tools-extra/clang-doc/Representation.cpp
+0-51 files

LLVM/project 82842c1flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-variant.cpp openmp-utils.cpp

[flang][OpenMP] Address post-merge feedback for metadirective loop-nest checks

- Rename mayVariantBeSelected to MayVariantBeSelected and move it from
  check-omp-variant.cpp into the shared openmp-utils, next to
  MakeVariantMatchInfo, so declare-variant checking can reuse it.

- Explain why the WHEN clause records its context selector only when the
  modifier list holds exactly one modifier.

- Diagnose a loop-associated metadirective variant in a declaration-only
  program unit (e.g. a module specification part). Such a unit has no
  execution part whose first construct could be the associated loop nest,
  so any variants still pending at the end of the program unit are now
  validated instead of silently ignored. Add a Semantics test for the
  module case.
DeltaFile
+6-38flang/lib/Semantics/check-omp-variant.cpp
+32-0flang/lib/Semantics/openmp-utils.cpp
+14-0flang/include/flang/Semantics/openmp-utils.h
+10-0flang/lib/Semantics/check-omp-structure.cpp
+8-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+1-0flang/lib/Semantics/check-omp-structure.h
+71-386 files

LLVM/project afa1485lldb/include/lldb/ValueObject DILAST.h, lldb/source/ValueObject DILEval.cpp DILParser.cpp

[lldb] Add comparison operators to DIL
DeltaFile
+202-0lldb/source/ValueObject/DILEval.cpp
+173-0lldb/test/API/commands/frame/var-dil/expr/Comparison/TestFrameVarDILExprComparison.py
+50-1lldb/source/ValueObject/DILParser.cpp
+24-18lldb/source/ValueObject/DILLexer.cpp
+33-0lldb/test/API/commands/frame/var-dil/expr/Comparison/main.cpp
+15-4lldb/include/lldb/ValueObject/DILAST.h
+497-236 files not shown
+537-2512 files

LLVM/project 695a10clldb/include/lldb/ValueObject DILAST.h, lldb/source/ValueObject DILParser.cpp DILEval.cpp

[lldb] Add nullptr literal to DIL
DeltaFile
+15-0lldb/include/lldb/ValueObject/DILAST.h
+14-0lldb/source/ValueObject/DILParser.cpp
+14-0lldb/source/ValueObject/DILEval.cpp
+8-1lldb/test/API/commands/frame/var-dil/expr/Literals/TestFrameVarDILLiterals.py
+5-0lldb/source/ValueObject/DILAST.cpp
+3-0lldb/source/ValueObject/DILLexer.cpp
+59-14 files not shown
+65-110 files

LLVM/project 3b3509allvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize cse-replicate-regions.ll

[VPlan] Enable CSE of VPWidenPHIRecipe. (#207573)

Add VPWidenPHIRecipe to the set of recipes CSE can handle. Besides their
operands (incoming values), they also depend on their predecessors, so
canHandle checks for that.

PR: https://github.com/llvm/llvm-project/pull/207573/
DeltaFile
+6-7llvm/test/Transforms/LoopVectorize/cse-replicate-regions.ll
+7-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+13-72 files

LLVM/project ff77f06flang/lib/Semantics resolve-names.cpp, flang/test/Driver bbc-implicit-use-module.f90

[flang][cuda] Restrict implicit use to non-cuda subprogram (#208808)
DeltaFile
+18-0flang/test/Driver/bbc-implicit-use-module.f90
+11-0flang/lib/Semantics/resolve-names.cpp
+29-02 files

LLVM/project a277fe2lldb/include/lldb/ValueObject DILAST.h, lldb/source/ValueObject DILEval.cpp DILParser.cpp

[lldb] Add nullptr literal to DIL
DeltaFile
+15-0lldb/include/lldb/ValueObject/DILAST.h
+14-0lldb/source/ValueObject/DILEval.cpp
+14-0lldb/source/ValueObject/DILParser.cpp
+8-1lldb/test/API/commands/frame/var-dil/expr/Literals/TestFrameVarDILLiterals.py
+5-0lldb/source/ValueObject/DILAST.cpp
+3-0lldb/source/ValueObject/DILLexer.cpp
+59-14 files not shown
+65-110 files

LLVM/project 372e0abclang-tools-extra/clangd/index/remote/marshalling Marshalling.cpp

[clangd][remote] Fix SmallVector assertion in uriToRelativePath for Windows paths (#208830)

After https://github.com/llvm/llvm-project/pull/207202 buildbot has
detected a new failure.
Assertion happens in newly created test:
```
ClangdTests: /vol/worker/clangd-ubuntu-clang/clangd-ubuntu-tsan/llvm-project/llvm/include/llvm/ADT/SmallVector.h:196: void llvm::SmallVectorTemplateCommon<char>::assertSafeToReferenceAfterResize(const void *, size_t) [T = char]: Assertion `isSafeToReferenceAfterResize(Elt, NewSize) && "Attempting to reference an element of the vector in an operation " "that invalidates it"' failed.
```
The root cause is that `Path` is a `StringRef` aliasing `Result`s
buffer. Assigning `Result` to `Path.drop_front()` triggers
`SmallVector`s `assertSafeToReferenceAfterResize` assertion (that
assertion checks if we are passing an iterator that points into the own
buffer).

With this patch we convert `Path.drop_front()` to `std::string` to break
the aliasing before assignment.
DeltaFile
+1-1clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
+1-11 files

LLVM/project 60474dcmlir/test/Dialect/SCF loop-pipelining.mlir, mlir/test/lib/Dialect/SCF TestSCFUtils.cpp

[mlir][scf] Validate pipelining annotations in test pass (#208788)

I made the SCF pipelining test pass validate malformed scheduling
annotations before building the schedule. Bad annotations now produce
diagnostics instead of crashing, while valid schedules keep using the
existing path.
Fixes #206918
DeltaFile
+96-0mlir/test/Dialect/SCF/loop-pipelining.mlir
+25-5mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
+121-52 files

LLVM/project 09f6be7clang/include/clang/AST StmtCXX.h, clang/lib/AST StmtCXX.cpp

Move implementation into .cpp file
DeltaFile
+2-7clang/include/clang/AST/StmtCXX.h
+8-0clang/lib/AST/StmtCXX.cpp
+10-72 files

LLVM/project 9cfc1a7llvm/test/CodeGen/AMDGPU buffer-fat-pointer-atomicrmw-fadd.ll atomic_optimizations_struct_buffer.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (8)

Mechanically migrate the command-line target spelling on llc/opt RUN lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+11-11llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
+11-11llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
+11-11llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
+11-11llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
+10-10llvm/test/CodeGen/AMDGPU/bf16.ll
+10-10llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
+64-6490 files not shown
+301-30196 files

LLVM/project 2da450bllvm/test/CodeGen/AMDGPU atomic_optimizations_global_pointer.ll atomic_optimizations_local_pointer.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (7)

Mechanically migrate the command-line target spelling on llc/opt RUN lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+30-30llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
+16-16llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
+11-11llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
+11-11llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
+9-9llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
+9-9llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
+86-8690 files not shown
+277-27796 files

LLVM/project 11187cfllvm/test/CodeGen/AMDGPU amdgpu-inline.ll amdgpu-cs-chain-cc.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (6)

Mechanically migrate the command-line target spelling on llc/opt RUN lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+5-5llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
+4-4llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
+4-4llvm/test/CodeGen/AMDGPU/amdgpu-reloc-const.ll
+4-4llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
+4-4llvm/test/CodeGen/AMDGPU/amdgpu-nsa-threshold.ll
+3-3llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-sqrt.ll
+24-2493 files not shown
+134-13499 files

LLVM/project 6e8be17llvm/test/CodeGen/AMDGPU amdgcn-av-scopes.ll abs_i16.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (5)

Mechanically migrate the command-line target spelling on llc/opt RUN lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+12-12llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
+9-9llvm/test/CodeGen/AMDGPU/abs_i16.ll
+8-8llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+6-6llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
+6-6llvm/test/CodeGen/AMDGPU/add.ll
+6-6llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
+47-4787 files not shown
+287-28993 files

LLVM/project c2312cbclang/lib/Driver/ToolChains AMDGPU.cpp, clang/test/Driver amdgpu-openmp-gpu-max-threads-per-block.c

clang/AMDGPU: Remove driver restriction on --gpu-max-threads-per-block

Previously this flag was only handled for HIP, and would produce an unused
argument warning. There is a custom warning produced by cc1 that the
argument isn't supported, but practically speaking that was unreachable
due to not forwarding the argument. Also add a test for the untested warning.
Also use a simpler method for forwarding the flag to cc1.
DeltaFile
+14-0clang/test/Frontend/openmp-warn-gpu-max-threads-per-block.c
+2-8clang/lib/Driver/ToolChains/AMDGPU.cpp
+6-0clang/test/Driver/amdgpu-openmp-gpu-max-threads-per-block.c
+22-83 files

LLVM/project 7e9a68bllvm/test/Transforms/SLPVectorizer/AMDGPU round.ll add_sub_sat-inseltpoison.ll, llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU nontrivial-unswitch-divergent-target.ll

AMDGPU: Migrate Analysis/Transforms tests to amdgpu subarch triple (4)

Continue migrating command-line target spelling on RUN lines to the folded
amdgpu subarch triple form, covering the remaining Transforms tests in this
group.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/round.ll
+3-3llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/nontrivial-unswitch-divergent-target.ll
+3-3llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
+3-3llvm/test/Transforms/SLPVectorizer/AMDGPU/bswap-inseltpoison.ll
+18-1830 files not shown
+62-6836 files

LLVM/project 956777b.github/workflows/containers/github-action-ci Dockerfile, .github/workflows/containers/github-action-ci-windows Dockerfile

[Github] Bump runner version to 2.335.1 (#208824)

To stay ahead of the 6-month deprecation window.
DeltaFile
+1-1.github/workflows/containers/github-action-ci-windows/Dockerfile
+1-1.github/workflows/containers/github-action-ci/Dockerfile
+2-22 files

LLVM/project d1fc322llvm CMakeLists.txt

[CMake] Use minimum python version of 3.8 everywhere (#208822)

We used to set a minimum of 3.0, and only 3.8 if tests were enabled. But
it doesn't seem like anyone is actually testing this config and it just
seems to cause more confusion/breakage than anything else, so just set
the global minimum to 3.8.
DeltaFile
+2-7llvm/CMakeLists.txt
+2-71 files

LLVM/project 2bb51dcllvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG convergent-jump-threading.ll

[SimplifyCFG] Do not thread branches into uncontrolled convergent regions

SimplifyCFG's foldCondBranchOnValueKnownInPredecessor can thread an edge past
a block that acts as a reconvergence point. If the threaded destination reaches
an uncontrolled convergent operation before returning to the threaded-through
block, the transform can change which dynamic instance of the convergent
operation is executed.

Add a conservative destination scan for this fold and skip the threading
candidate when it can reach an uncontrolled convergent call before returning
to the original block. Controlled convergent operations using convergence
control tokens are left alone.

Fixes ROCM-26496.
DeltaFile
+40-0llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+6-4llvm/test/Transforms/SimplifyCFG/convergent-jump-threading.ll
+46-42 files

LLVM/project f8ea822llvm/lib/Target/Hexagon HexagonRDFOpt.cpp, llvm/test/CodeGen/Hexagon pr207422.ll

[Hexagon] Recompute physreg live-ins after HexagonRDFOpt (PR207422) (#208050)

HexagonRDFOpt's Liveness recomputation (LV.resetLiveIns) can leave
stale, over-approximate physical register live-ins on some blocks.
Downstream this has surfaced as If Converter inserting incorrect
implicit-use operands on predicated loads, tripping the machine verifier
with 'Using an undefined physical register'.

Run a conventional backward liveness recomputation after the RDF update
to correct the live-in lists. The entry block is skipped because its
live-ins reflect the calling convention and include argument registers
that may not be read directly.
DeltaFile
+45-0llvm/test/CodeGen/Hexagon/pr207422.ll
+31-1llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
+76-12 files

LLVM/project 5b1484cclang/include/clang/Driver CommonArgs.h, clang/lib/Driver/ToolChains CommonArgs.cpp AMDGPU.cpp

clang/AMDGPU: Fix double linking opencl libs with --libclc-lib (#204865)

Noticed by inspection. If using an explicit --libclc-lib flag,
do not attempt to also link the rocm device libs which will contain
different implementations of the same opencl symbols.

Co-Authored-By: Claude <noreply at anthropic.com>
DeltaFile
+8-7clang/lib/Driver/ToolChains/CommonArgs.cpp
+9-0clang/test/Driver/opencl-libclc.cl
+5-1clang/include/clang/Driver/CommonArgs.h
+2-1clang/lib/Driver/ToolChains/AMDGPU.cpp
+24-94 files