LLVM/project 818168eclang-tools-extra/clang-tidy/cppcoreguidelines MissingStdForwardCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix false positive for constrained template parameters in `cppcoreguidelines-missing-std-forward` (#182038)

Explicit object parameters with a type constraint are skipped to avoid
false positives. They are technically still forwarding references per
[temp.deduct.call], but rarely intended to be perfectly forwarded.

Fixes #180362
DeltaFile
+58-0clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx23.cpp
+10-0clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
+7-0clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+79-04 files

LLVM/project 898dc85clang-tools-extra/clangd/index/dex/dexp CMakeLists.txt, clang-tools-extra/clangd/index/remote CMakeLists.txt

[clangd] Disable PCH for libs that use gRPC (#185185)

gRPC adds -pthread, which is incompatible with PCH without it. At some
point, we probably should generally switch from -lpthread to -pthread,
but until then, disable PCH for affected targets.

Fixes https://github.com/llvm/llvm-project/issues/184759.
DeltaFile
+4-1clang/cmake/modules/AddGRPC.cmake
+3-0clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt
+3-0clang-tools-extra/clangd/index/remote/CMakeLists.txt
+3-0clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
+3-0clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt
+3-0clang-tools-extra/clangd/index/remote/server/CMakeLists.txt
+19-11 files not shown
+22-17 files

LLVM/project 9c3c862libclc/clc/include/clc/synchronization clc_work_group_barrier.h, libclc/clc/lib/amdgcn/synchronization clc_work_group_barrier.cl

libclc: Use separate acquire and release fences in work_group_barrier
DeltaFile
+17-3libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
+1-2libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
+1-2libclc/opencl/lib/generic/synchronization/work_group_barrier.cl
+1-1libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
+20-84 files

LLVM/project fe7d245clang/lib/CIR/CodeGen CIRGenExprComplex.cpp

[CIR][NFC] ComplexType visitStmt replace NYI with unreachable (#185178)

Replace errorNYI with llvm_unreachable in ComplexType visitStmt
DeltaFile
+2-2clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
+2-21 files

LLVM/project 850892elibclc/clc/lib/generic/workitem clc_get_global_id.cl

libclc: Use enqueued local size to implement get_global_id
DeltaFile
+2-2libclc/clc/lib/generic/workitem/clc_get_global_id.cl
+2-21 files

LLVM/project 241e7f2libclc/clc/lib/generic SOURCES, libclc/clc/lib/generic/workitem clc_get_global_id.cl

libclc: Move get_global_id into clc
DeltaFile
+17-0libclc/clc/lib/generic/workitem/clc_get_global_id.cl
+2-3libclc/opencl/lib/generic/workitem/get_global_id.cl
+1-0libclc/clc/lib/generic/SOURCES
+20-33 files

LLVM/project f2055e3mlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp

use type index bitwidth
DeltaFile
+3-2mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+3-21 files

LLVM/project 17eafe6mlir/include/mlir/Dialect/LLVMIR LLVMOps.td

add description
DeltaFile
+7-2mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+7-21 files

LLVM/project 3572b35mlir/include/mlir/Dialect/LLVMIR LLVMOps.td

add description
DeltaFile
+29-0mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+29-01 files

LLVM/project c56aad6llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/X86 known-never-zero.ll

[DAG] isKnownNeverZero: Add DemandedElts handling for ROTL/ROTR/BITREVERSE/BSWAP/CTPOP/ABS (#184033)

Add DemandedElts handling for ROTL/ROTR/BITREVERSE/BSWAP/CTPOP/ABS in SelectionDAG::isKnownNeverZero

Fixes #183040
DeltaFile
+18-36llvm/test/CodeGen/X86/known-never-zero.ll
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+19-372 files

LLVM/project 07788acmlir/test/Dialect/LLVMIR roundtrip.mlir, mlir/test/Target/LLVMIR llvmir.mlir

address review comments
DeltaFile
+11-2mlir/test/Target/LLVMIR/llvmir.mlir
+4-1mlir/test/Target/LLVMIR/Import/instructions.ll
+2-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+17-33 files

LLVM/project f8299c1libclc/clc/lib/generic SOURCES, libclc/clc/lib/generic/workitem clc_get_global_id.cl

libclc: Move get_global_id into clc
DeltaFile
+18-0libclc/clc/lib/generic/workitem/clc_get_global_id.cl
+2-3libclc/opencl/lib/generic/workitem/get_global_id.cl
+1-0libclc/clc/lib/generic/SOURCES
+21-33 files

LLVM/project 25af991libclc/clc/lib/generic/workitem clc_get_global_id.cl

libclc: Use enqueued local size to implement get_global_id
DeltaFile
+5-6libclc/clc/lib/generic/workitem/clc_get_global_id.cl
+5-61 files

LLVM/project 9321eefclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Split CIR_UnaryOp into individual operations

Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into five separate operations: cir.inc, cir.dec,
cir.plus, cir.minus, and cir.not.

This follows the same pattern used when cir.binop was split into
individual binary operations (AddOp, SubOp, etc.).

Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, PlusOp, MinusOp, NotOp with per-op folds
- Replace createUnaryOp() with createInc/Dec/Plus/Minus/Not builders
- Split LLVM lowering into five separate patterns
- Split LoweringPrepare complex-type handling into five handlers
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind
- Remove CIR_UnaryOpKind enum and old CIR_UnaryOp definition

    [5 lines not shown]
DeltaFile
+105-117clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+90-92clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+132-29clang/include/clang/CIR/Dialect/IR/CIROps.td
+62-62clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
+93-28clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+41-41clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
+523-36978 files not shown
+1,571-1,39284 files

LLVM/project 9088858clang/test/CIR/CodeGen try-catch-tmp.cpp try-catch.cpp

[CIR][NFC] Merge try-catch-tmp with try-catch test file (#185123)

Merge try-catch-tmp.cpp the with try-catch test file
DeltaFile
+0-810clang/test/CIR/CodeGen/try-catch-tmp.cpp
+802-0clang/test/CIR/CodeGen/try-catch.cpp
+802-8102 files

LLVM/project b8ea766clang/test/CodeGen/AArch64/neon intrinsics.c fullfp16.c

[Clang][AArch64] Reorganize tests for `vceqz` intrinsics (NFC) (#185090)

Group related `vceqz_*` and `vceqzd_*` tests together for consistency
and readability. Add a comment documenting the scalar variants that are
not currently covered.

No functional change.

Follow-up to #184893.
DeltaFile
+60-48clang/test/CodeGen/AArch64/neon/intrinsics.c
+7-4clang/test/CodeGen/AArch64/neon/fullfp16.c
+67-522 files

LLVM/project 04fa244clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/Transforms CIRCanonicalize.cpp

[CIR] Add Commutative/Idempotent traits to binary ops

Add missing MLIR traits to CIR binary operations, matching the arith
dialect conventions:

- AndOp, OrOp: Commutative, Idempotent (fixes FIXME)
- AddOp, MulOp, XorOp, MaxOp: Commutative

Add these ops to the CIRCanonicalize pass op list so trait-based
folding is exercised by applyOpPatternsGreedily.

Update testFloatingPointBinOps in binop.cpp to use computed values,
preventing DCE of the now-canonicalized ops.
DeltaFile
+65-0clang/test/CIR/Transforms/binop-traits.cir
+28-18clang/test/CIR/CodeGen/binop.cpp
+12-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+6-5clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
+5-5clang/test/CIR/CodeGen/size-of-vla.cpp
+2-7clang/test/CIR/CodeGen/new.cpp
+118-432 files not shown
+123-508 files

LLVM/project 2b94f74libclc/opencl/lib/amdgcn SOURCES, libclc/opencl/lib/amdgcn/async wait_group_events.cl

libclc: Add amdgpu wait_group_events
DeltaFile
+23-0libclc/opencl/lib/amdgcn/async/wait_group_events.cl
+1-0libclc/opencl/lib/amdgcn/SOURCES
+24-02 files

LLVM/project 66e85c2lldb/unittests/Platform PlatformDarwinTest.cpp CMakeLists.txt

[lldb][PlatformDarwin][test] Add unit-test for LocateExecutableScriptingResourcesFromDSYM (#185057)

Depends on:
* https://github.com/llvm/llvm-project/pull/185056

Adds test unit-test for
`PlatformDarwin::LocateExecutableScriptingResourcesFromDSYM`. I had to
mock the `ScriptInterpreter` because the function internally uses the
`ScriptInterpreterPython` to check for reserved words in file names. But
linking the `ScriptInterpreterPython` was quite the undertaking, which I
think we could pull off, but required more churn that I had hoped.
Mocking it seemed pretty low-cost so I resorted to doing that instead.

Test-cases aren't very elaborate yet. It just has a basic assertion that
we locate the Python file within the dSYM. Mostly I set up
infrastructure for future test-cases.
DeltaFile
+137-1lldb/unittests/Platform/PlatformDarwinTest.cpp
+1-0lldb/unittests/Platform/CMakeLists.txt
+138-12 files

LLVM/project 1e24052clang/docs ThreadSafetyAnalysis.rst, clang/lib/AST ASTImporter.cpp

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

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+31-7clang/docs/ThreadSafetyAnalysis.rst
+33-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+12-15clang/lib/Sema/SemaDeclAttr.cpp
+12-12clang/test/SemaCXX/warn-thread-safety-parsing.cpp
+5-3clang/lib/Analysis/ThreadSafety.cpp
+6-2clang/lib/AST/ASTImporter.cpp
+99-396 files not shown
+117-5112 files

LLVM/project 68c3078clang/docs ThreadSafetyAnalysis.rst, clang/lib/Analysis ThreadSafety.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+72-13clang/test/SemaCXX/warn-thread-safety-parsing.cpp
+72-7clang/docs/ThreadSafetyAnalysis.rst
+77-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+54-3clang/lib/Analysis/ThreadSafety.cpp
+39-15clang/lib/Sema/SemaDeclAttr.cpp
+27-0clang/lib/Sema/AnalysisBasedWarnings.cpp
+341-389 files not shown
+430-5215 files

LLVM/project 3eda9daclang/docs ThreadSafetyAnalysis.rst, clang/lib/AST ASTImporter.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+31-7clang/docs/ThreadSafetyAnalysis.rst
+33-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+12-15clang/lib/Sema/SemaDeclAttr.cpp
+12-12clang/test/SemaCXX/warn-thread-safety-parsing.cpp
+6-2clang/lib/AST/ASTImporter.cpp
+5-3clang/lib/Analysis/ThreadSafety.cpp
+99-396 files not shown
+117-5112 files

LLVM/project afba440libclc/clc/lib/amdgcn/workitem clc_get_enqueued_local_size.cl

libclc: Fix amdgpu get_enqueued_local_size (#185171)

This should not be the same as get_local_size
DeltaFile
+5-2libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
+5-21 files

LLVM/project 3fa3d00llvm/lib/Analysis VectorUtils.cpp, llvm/test/Transforms/LoopVectorize intrinsic.ll

Merge branch 'main' into users/arsenm/libclc/fix-amdgpu-get-enqueued-local-size
DeltaFile
+116-0llvm/test/Transforms/LoopVectorize/X86/clmul.ll
+96-0llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
+50-0llvm/test/Transforms/LoopVectorize/RISCV/clmul.ll
+33-0llvm/test/Transforms/LoopVectorize/intrinsic.ll
+1-0llvm/lib/Analysis/VectorUtils.cpp
+296-05 files

LLVM/project 10c0e1flibclc/clc/lib/amdgcn/workitem clc_get_local_size.cl clc_get_global_size.cl, libclc/clc/lib/ptx-nvidiacl/workitem clc_get_global_size.cl

libclc: Avoid duplicated get_local_size/get_global_size functions (#185166)

Move opencl handling on top of clc into opencl generic, delete
amdgpu implementations in opencl.
DeltaFile
+0-26libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
+14-10libclc/clc/lib/amdgcn/workitem/clc_get_local_size.cl
+0-22libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
+0-20libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
+8-10libclc/clc/lib/amdgcn/workitem/clc_get_global_size.cl
+15-0libclc/clc/lib/ptx-nvidiacl/workitem/clc_get_global_size.cl
+37-889 files not shown
+54-12115 files

LLVM/project a2c7b88libclc/clc/lib/amdgcn/workitem clc_get_enqueued_local_size.cl

libclc: Fix amdgpu get_enqueued_local_size

This should not be the same as get_local_size
DeltaFile
+5-2libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
+5-21 files

LLVM/project faee8e5libclc/clc/lib/amdgcn/workitem clc_get_local_size.cl

Move get_local_size implementation
DeltaFile
+14-10libclc/clc/lib/amdgcn/workitem/clc_get_local_size.cl
+14-101 files

LLVM/project e6fb9ballvm/lib/Analysis VectorUtils.cpp, llvm/test/Transforms/LoopVectorize intrinsic.ll

[Analysis] isTriviallyVectorizable - add Intrinsic::clmul along with vectorisation tests (#180014)

This patch adds a case in isTriviallyVectorizable in llvm/lib/Analysis/VectorUtils.cpp for Intrinsic::clmul.

Fixes #179106
DeltaFile
+116-0llvm/test/Transforms/LoopVectorize/X86/clmul.ll
+96-0llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
+50-0llvm/test/Transforms/LoopVectorize/RISCV/clmul.ll
+33-0llvm/test/Transforms/LoopVectorize/intrinsic.ll
+1-0llvm/lib/Analysis/VectorUtils.cpp
+296-05 files

LLVM/project 7a34a3alibclc/clc/lib/ptx-nvidiacl SOURCES, libclc/clc/lib/ptx-nvidiacl/workitem clc_get_global_size.cl

Fix ptx build
DeltaFile
+15-0libclc/clc/lib/ptx-nvidiacl/workitem/clc_get_global_size.cl
+1-0libclc/clc/lib/ptx-nvidiacl/SOURCES
+16-02 files

LLVM/project 62fe685libclc/opencl/lib/generic/workitem get_global_size.cl

Use __clc_get_global_size
DeltaFile
+2-2libclc/opencl/lib/generic/workitem/get_global_size.cl
+2-21 files