LLVM/project 5c683d9 — clang/lib/Lex TokenConcatenation.cpp

[clang][NFC] Remove redundant annotation check in AvoidConcat (#238661)

Annotation tokens already return early in AvoidConcat, so PrevTok cannot
be an annotation when getIdentifierInfo() is reached. Remove the
redundant check.
DeltaFile
+1-1clang/lib/Lex/TokenConcatenation.cpp
+1-11 files

LLVM/project f9c45ac — llvm/lib/Target/AMDGPU SIInstrInfo.td, llvm/lib/Target/AMDGPU/MCTargetDesc AMDGPUInstPrinter.cpp

[AMDGPU] Move the encoding suffix for instructions without operands to TableGen (#239077)

Follow-up to #234466. Instead of appending _e64/_sdwa in
AMDGPUInstPrinter::printInst(), put the suffix in the VOPProfile asm
strings for instructions without operands. Using the {_e64|} and
{_sdwa|} variant syntax, the suffix is only seen by the AsmWriter
(variant 0). The VOP3 and SDWA matcher variants still get the bare
mnemonic, since the parser strips the suffix before matching.

The generated matcher is unchanged and the printed output is the
same as before, so there are no test changes.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-3llvm/lib/Target/AMDGPU/SIInstrInfo.td
+0-11llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
+11-142 files

LLVM/project 39c5363 — flang/test/Integration fno-plt.f90

[NFC][tests] fno-plt.f90: allow target-related function attributes

Some targets apply function attributes by default, e.g., on AIX:
```
define void @test_(ptr noalias %0) #0 {
[...]
attributes #0 = { "target-features"="+aix,+64bit" }
```

Fixes CI failure from https://github.com/llvm/llvm-project/pull/235622.
DeltaFile
+9-5flang/test/Integration/fno-plt.f90
+9-51 files

LLVM/project ac3ab8b — llvm/include/llvm/CodeGen RuntimeLibcallUtil.h, llvm/lib/CodeGen TargetLoweringBase.cpp

CodeGen: Share atomic libcall selection between the legalizers

SelectionDAG and GlobalISel each had their own copies of the choice
between an outline atomic and a __sync_* call. Move it into a common
helper.

The __sync_* call is now always looked up in the DAG's libcall info,
rather than sometimes in the TargetLowering defaults. Also disable
the untested __sync call case in GlobalISel.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+38-56llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+11-6llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
+6-10llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+4-11llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+11-1llvm/lib/CodeGen/TargetLoweringBase.cpp
+70-845 files

LLVM/project 5040db9 — llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AArch64/GlobalISel irtranslator-subvector.ll

[GlobalISel][IRTranslator] Fix inserting a <1 x Ty> into a <1 x Ty> vector (#235828)

Fixes #235314.

`IRTranslatorImpl::translateInsertVector` copied operand 0 (the
destination)
when both the inserted vector and the destination vector have one
element.
Inserting a `<1 x Ty>` at index 0 replaces the whole destination, so the
result must be operand 1.

```
-  %2:_(s32) = COPY %0   ; dst
+  %2:_(s32) = COPY %1   ; src
```

Tests in `irtranslator-subvector.ll`: the one-element insert checks now
expect the source operand, the intrinsic suffixes match the argument
types,

    [3 lines not shown]
DeltaFile
+16-16llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-subvector.ll
+3-2llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+19-182 files

LLVM/project 149fb1c — llvm/cmake/modules Findzstd.cmake

[cmake] Findzstd: probe AIX .a archives for shared objects (#235575)

On AIX, shared libraries are conventionally packaged as `.a` archives
containing shared-object members. The existing heuristic in
`Findzstd.cmake` classifies any `.a` file (other than `.dll.a` import
libraries) as a static library, based solely on the file suffix.

Fix this by probing the found library on AIX. Treat it as shared if `ar
-t` lists a member ending in `.imp`. Otherwise, treat it as shared if
`dump -ov` shows a member whose `Flags` include `SHROBJ` but not
`LOADONLY`. The file-suffix heuristic is preserved unchanged for all
other platforms.

Assisted-by: IBM Bob

---------

Co-authored-by: Hubert Tong <hstong at ca.ibm.com>
DeltaFile
+37-1llvm/cmake/modules/Findzstd.cmake
+37-11 files

LLVM/project 3a39a23 — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor/ArgumentPromotion tail-rewritten-callee.ll

Attributor: Fix use-after-free clearing tail calls in AAPrivatizablePtr (#239070)

The tail calls collected during manifest may be erased by a signature
rewrite of their callee before the repair callback runs. Find them in
the callback instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+85-0llvm/test/Transforms/Attributor/ArgumentPromotion/tail-rewritten-callee.ll
+7-7llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+92-72 files

LLVM/project 06061ec — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP not-yet-implemented.c region-cleanups-O2.c

[CIR][OpenMP] Add support for 'distribute parallel for' with 'target teams'

Adds support for handling the full '[target] teams distribute parallel for'.
Introduces setting the omp.composite attibute for the 'distribute parallel for'
composite construct.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+876-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute-parallel-for.c
+300-40clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+266-0clang/test/CIR/CodeGenOpenMP/distribute-parallel-for.c
+27-0clang/test/CIR/CodeGenOpenMP/region-cleanups-O2.c
+13-0clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
+1,482-405 files

LLVM/project d7f1e81 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP not-yet-implemented.c teams-distribute.c

[CIR][OpenMP] Add initial support for distribute

This patch adds initial support for the OpenMP 'distribute' directive. Basic
code generation for the standalone and combined cases is introduced. Support
for clauses will be added in the future. The composite 'teams distribute
parallel for' form will be added in a subsequent patch.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+708-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute.c
+191-0clang/test/CIR/CodeGenOpenMP/teams-distribute.c
+141-26clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+12-0clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
+1,052-264 files

LLVM/project 2036877 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP not-yet-implemented.c region-cleanups-O2.c

[CIR][OpenMP] Add support for omp teams

This patch adds support for the OpenMP 'teams' directive, both standalone
and as the combined `target teams` construct. isCombinableLeaf now also
recognizes teams, so an explicitly-nested `target` + `teams` pair gets
the same omp.combined marking as the combined case.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+179-0clang/test/CIR/CodeGenOpenMP/target-teams.c
+133-0clang/test/CIR/CodeGenOpenMP/teams.c
+94-5clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+24-0clang/test/CIR/CodeGenOpenMP/region-cleanups-O2.c
+13-3clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
+443-85 files

LLVM/project bc95baf — clang/lib/CIR/CodeGen CIRGenFunction.h CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP target-parallel-for.c

[CIR][OpenMP] Add support for host_eval so that SPMD kernels can be used

This patch adds support for host_eval so that SPMD kernels and in the future
num_threads and other clauses can be implemented correctly.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+150-14clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+51-31clang/test/CIR/CodeGenOpenMP/target-parallel-for.c
+26-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+227-453 files

LLVM/project 84600a6 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP target-parallel.c region-cleanups-O2.c

[CIR][OpenMP] Add support for the OpenMP 'for' directive

This patch adds support for wsloop in ClangIR: the `for` directive and its
combined forms `parallel for` and `target parallel for`. This is lowered to an
omp.wsloop + omp.loop_nest, nested utilizing the existing queue-based
decomposition.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+354-88clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+374-0clang/test/CIR/CodeGenOpenMP/target-parallel-for.c
+341-0clang/test/CIR/CodeGenOpenMP/for-loop-forms.c
+219-0clang/test/CIR/CodeGenOpenMP/for.c
+140-0clang/test/CIR/CodeGenOpenMP/region-cleanups-O2.c
+137-0clang/test/CIR/CodeGenOpenMP/target-parallel.c
+1,565-884 files not shown
+1,701-9010 files

LLVM/project 23220e8 — libc/src/__support/annex_k CMakeLists.txt constraint_macros.h

[libc][annex_k] Add libc_constraint_handler macros.
DeltaFile
+44-0libc/src/__support/annex_k/constraint_macros.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+53-02 files

LLVM/project 05bd205 — libc/config/linux/riscv entrypoints.txt, libc/config/linux/x86_64 entrypoints.txt

[libc][stdlib][annex_k] Add set_constraint_handler_s.
DeltaFile
+28-0libc/src/stdlib/set_constraint_handler_s.cpp
+21-0libc/src/stdlib/set_constraint_handler_s.h
+11-0libc/src/stdlib/CMakeLists.txt
+7-0libc/include/stdlib.yaml
+1-0libc/config/linux/x86_64/entrypoints.txt
+1-0libc/config/linux/riscv/entrypoints.txt
+69-01 files not shown
+70-07 files

LLVM/project 8c41255 — libc/src/__support/annex_k libc_constraint_handler.h

fix format
DeltaFile
+1-1libc/src/__support/annex_k/libc_constraint_handler.h
+1-11 files

LLVM/project 284db13 — libc/config/linux/x86_64 entrypoints.txt, libc/include CMakeLists.txt stdlib.yaml

[libc][stdlib][annex_k] Add ignore_handler_s.
DeltaFile
+22-0libc/src/stdlib/ignore_handler_s.h
+16-0libc/src/stdlib/ignore_handler_s.cpp
+13-0libc/src/stdlib/CMakeLists.txt
+9-0libc/include/stdlib.yaml
+1-0libc/include/CMakeLists.txt
+1-0libc/config/linux/x86_64/entrypoints.txt
+62-02 files not shown
+64-08 files

LLVM/project 99dcbe8 — libc/src/__support/annex_k CMakeLists.txt libc_constraint_handler.h

[libc][annex_k] Add libc_constraint_handler.
DeltaFile
+26-0libc/src/__support/annex_k/libc_constraint_handler.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+35-02 files

LLVM/project f914d80 — libc/src/__support/annex_k CMakeLists.txt abort_handler_s.h

[libc][annex_k] Terminate abort_handler_s through OSUtil instead of abort

Code under src/__support must not depend on public entrypoints such as
src/stdlib/abort.h and must stay OS independent. Terminate through the
OSUtil exit abstraction instead, following the precedent in libc_assert.h.
DeltaFile
+6-2libc/src/__support/annex_k/abort_handler_s.h
+0-1libc/src/__support/annex_k/CMakeLists.txt
+6-32 files

LLVM/project 8c97552 — libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc][stdlib][annex_k] Add set_constraint_handler_s.
DeltaFile
+28-0libc/src/stdlib/set_constraint_handler_s.cpp
+21-0libc/src/stdlib/set_constraint_handler_s.h
+11-0libc/src/stdlib/CMakeLists.txt
+7-0libc/include/stdlib.yaml
+1-0libc/config/linux/riscv/entrypoints.txt
+1-0libc/config/linux/aarch64/entrypoints.txt
+69-01 files not shown
+70-07 files

LLVM/project b5019ab — libc/src/__support/annex_k CMakeLists.txt constraint_macros.h

[libc][annex_k] Add libc_constraint_handler macros.
DeltaFile
+44-0libc/src/__support/annex_k/constraint_macros.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+53-02 files

LLVM/project 9140f1d — libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc][stdlib][annex_k] Add ignore_handler_s.
DeltaFile
+22-0libc/src/stdlib/ignore_handler_s.h
+16-0libc/src/stdlib/ignore_handler_s.cpp
+13-0libc/src/stdlib/CMakeLists.txt
+9-0libc/include/stdlib.yaml
+1-0libc/config/linux/riscv/entrypoints.txt
+1-0libc/config/linux/aarch64/entrypoints.txt
+62-02 files not shown
+64-08 files

LLVM/project 33a594a — libc/src/__support/annex_k CMakeLists.txt libc_constraint_handler.h

[libc][annex_k] Add libc_constraint_handler.
DeltaFile
+26-0libc/src/__support/annex_k/libc_constraint_handler.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+35-02 files

LLVM/project 281d47c — libc/src/__support/annex_k libc_constraint_handler.h

fix format
DeltaFile
+1-1libc/src/__support/annex_k/libc_constraint_handler.h
+1-11 files

LLVM/project 0898cf0 — libc/src/__support/annex_k CMakeLists.txt abort_handler_s.h

[libc][annex_k] Terminate abort_handler_s through OSUtil instead of abort

Code under src/__support must not depend on public entrypoints such as
src/stdlib/abort.h and must stay OS independent. Terminate through the
OSUtil exit abstraction instead, following the precedent in libc_assert.h.

Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+6-2libc/src/__support/annex_k/abort_handler_s.h
+0-1libc/src/__support/annex_k/CMakeLists.txt
+6-32 files

LLVM/project 8a92641 — libc/config/baremetal/aarch64 entrypoints.txt, libc/config/baremetal/arm entrypoints.txt

apply code review suggestions
DeltaFile
+2-3libc/src/__support/annex_k/CMakeLists.txt
+2-2libc/src/__support/annex_k/abort_handler_s.h
+1-1libc/src/stdlib/abort_handler_s.cpp
+1-0libc/config/baremetal/riscv/entrypoints.txt
+1-0libc/config/baremetal/arm/entrypoints.txt
+1-0libc/config/baremetal/aarch64/entrypoints.txt
+8-63 files not shown
+10-79 files

LLVM/project fcfc7d7 — libc/include stdlib.yaml, libc/src/__support/annex_k CMakeLists.txt abort_handler_s.h

[libc][annex_k] Add abort_handler_s.
DeltaFile
+43-0libc/src/__support/annex_k/abort_handler_s.h
+22-0libc/src/stdlib/abort_handler_s.h
+20-0libc/src/stdlib/abort_handler_s.cpp
+13-1libc/include/stdlib.yaml
+12-0libc/src/__support/annex_k/CMakeLists.txt
+10-0libc/src/stdlib/CMakeLists.txt
+120-14 files not shown
+124-110 files

LLVM/project eb0c08b — llvm/lib/CodeGen PHIElimination.cpp, llvm/test/CodeGen/Hexagon phi-elim-subreg-lanes.mir

Account for lane reads between PHI source copies
DeltaFile
+93-0llvm/test/CodeGen/Hexagon/phi-elim-subreg-lanes.mir
+19-8llvm/lib/CodeGen/PHIElimination.cpp
+112-82 files

LLVM/project 3d53498 — llvm/lib/Transforms/IPO AttributorAttributes.cpp

Attributor: Work around GCC 9 ICE in AAHeapToStack manifest (#239061)

GCC 9 crashes on the generic lambda added in f4b99f3edd466. Use an
explicit parameter type instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-1llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+1-11 files

LLVM/project 17ea058 — llvm/cmake/modules Findzstd.cmake

[cmake] Findzstd: probe AIX .a archives for shared objects

On AIX, shared libraries are conventionally packaged as `.a` archives
containing shared-object members.  The existing heuristic in
`Findzstd.cmake` classifies any `.a` file (other than `.dll.a` import
libraries) as a static library, based solely on the file suffix.

Fix this by probing the found library on AIX.  Treat it as shared if
`ar -t` lists a member ending in `.imp`.  Otherwise, treat it as shared
if `dump -ov` shows a member whose `Flags` include `SHROBJ` but not
`LOADONLY`.  The file-suffix heuristic is preserved unchanged for all
other platforms.

---------

Assisted-by: IBM Bob
DeltaFile
+37-1llvm/cmake/modules/Findzstd.cmake
+37-11 files

LLVM/project 467d36b — llvm/cmake/modules Findzstd.cmake

Revert "[cmake] Findzstd: probe AIX .a archives for loader section"

This reverts commit 6faea15a3aa1660b0ca38b3bc427b30a3177bb07.
DeltaFile
+1-22llvm/cmake/modules/Findzstd.cmake
+1-221 files