LLVM/project 678b9b2clang-tools-extra/clang-tidy/bugprone UseAfterMoveCheck.cpp UseAfterMoveCheck.h, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Add `ReinitializationFunctions` option to `bugprone-use-after-move` (#172784)

Closes #170635
DeltaFile
+57-2clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
+25-8clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
+8-0clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
+3-1clang-tools-extra/docs/ReleaseNotes.rst
+1-0clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
+94-115 files

LLVM/project 19aaa0dllvm/lib/Target/AMDGPU SIInstrInfo.cpp VOP1Instructions.td, llvm/test/CodeGen/AMDGPU imm16.ll fma.f16.ll

[AMDGPU] Allow 16-bit imm folding in real true16
DeltaFile
+127-268llvm/test/CodeGen/AMDGPU/imm16.ll
+15-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+6-6llvm/test/CodeGen/AMDGPU/fma.f16.ll
+4-4llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
+2-2llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
+1-1llvm/lib/Target/AMDGPU/VOP1Instructions.td
+155-2826 files

LLVM/project d5b2befllvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU fma.f16.ll llvm.fmuladd.f16.ll

[AMDGPU] Create V_FMAAK_F16/V_FMAMK_F16 in true16 with imm folding

This does not cover real true16 with tests, the next patch will.
DeltaFile
+25-14llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+11-12llvm/test/CodeGen/AMDGPU/fma.f16.ll
+4-4llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
+40-303 files

LLVM/project 68448dfllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV atomic-rmw.ll

rebase

Created using spr 1.3.4
DeltaFile
+53,434-51,436llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+17,545-20,831llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+18,291-16,006llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+19,255-3,889llvm/test/CodeGen/RISCV/atomic-rmw.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+126,504-114,35324,504 files not shown
+1,995,800-864,93824,510 files

LLVM/project 07fd584llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV atomic-rmw.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+53,434-51,436llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+17,545-20,831llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+18,291-16,006llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+19,255-3,889llvm/test/CodeGen/RISCV/atomic-rmw.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+126,504-114,35324,504 files not shown
+1,995,800-864,93824,510 files

LLVM/project ccbf6admlir/include/mlir/Dialect/OpenACC OpenACCUtilsLoop.h, mlir/lib/Dialect/OpenACC/Utils OpenACCUtilsLoop.cpp CMakeLists.txt

[mlir][acc] Add utilities for converting acc.loop to scf (#172953)

Add OpenACCUtilsLoop.h/.cpp with utilities for converting acc.loop
operations to SCF dialect operations:

- convertACCLoopToSCFFor: Convert structured acc.loop to scf.for with
loop collapsing support
- convertACCLoopToSCFParallel: Convert acc.loop to scf.parallel
- convertUnstructuredACCLoopToSCFExecuteRegion: Convert unstructured
acc.loop (multi-block) to scf.execute_region

Key features:
- Automatic type conversion between integer types and index
- Inclusive-to-exclusive upper bound conversion
- Trip count calculation with clamping for negative counts
- Constant folding via createOrFold for cleaner IR
- Assertions to prevent misuse (e.g., builder inside loop region)
- Error emission for unsupported cases (loops with results)


    [4 lines not shown]
DeltaFile
+595-0mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
+318-0mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
+54-0mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
+4-1mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+4-0mlir/unittests/Dialect/OpenACC/CMakeLists.txt
+975-15 files

LLVM/project 3f08faflldb/packages/Python/lldbsuite/test/tools/lldb-dap lldbdap_testcase.py dap_server.py, lldb/test/API/tools/lldb-dap/attach TestDAP_attachByPortNum.py

[lldb-dap] Adjusting the initialize/launch flow to better match the spec. (#171549)

In https://github.com/llvm/llvm-project/pull/170523 it was pointed out
that the spec does specifically specify that launch/attach should not
respond until configurationDone is handled.

This means we do need to support async request handlers. To better align
with the spec, I've added a new `lldb_dap::AsyncRequestHandler`. This is
an additional handler type that allows us to respond at a later point.
Additionally, I refactored `launch` and `attach` to only respond once
the `configurationDone` is complete, specifically during the `PostRun`
operation of the `configurationDone` handler.

I merged some of the common behavior between `RequestHandler` and
`AsyncRequestHandler` into their common `BaseRequestHandler`.

The flow should now be:

```

    [15 lines not shown]
DeltaFile
+71-70lldb/tools/lldb-dap/Handler/RequestHandler.h
+70-1lldb/tools/lldb-dap/Handler/RequestHandler.cpp
+24-17lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
+17-12lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+14-12lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
+9-3lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
+205-11510 files not shown
+231-13916 files

LLVM/project 8c010debolt/include/bolt/Profile YAMLProfileWriter.h, bolt/lib/Profile YAMLProfileWriter.cpp DataAggregator.cpp

[BOLT] Lookup top-level inline tree node in YAMLProfileWriter (#165491)

Top-level (binary) functions don't have a unique GUID mapping, with
different
causes namely coroutine fragments sharing the same parent source
function GUID.

Replace the top-level inline tree node GUID lookup with probe lookup
coupled
with walk up the inline tree.

Test Plan: added test-coro-probes.yaml
DeltaFile
+2,946-0bolt/test/X86/Inputs/test-coro-probes.yaml
+71-0bolt/test/X86/Inputs/test_coro.cpp
+11-12bolt/lib/Profile/YAMLProfileWriter.cpp
+17-0bolt/test/X86/pseudoprobe-coro.test
+3-5bolt/lib/Profile/DataAggregator.cpp
+2-3bolt/include/bolt/Profile/YAMLProfileWriter.h
+3,050-206 files

LLVM/project 44a8d9cllvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/AArch64 select-costs.ll

Reapply "[VPlan] Use predicate from VPValue VPWidenSelectR::computeCost." (#173170)

This reverts commit f42af14073228 and re-applies
https://github.com/llvm/llvm-project/pull/172915.

It has an additional check if the condition is a live-in,
which makes sure we preserve the original behavior in that case.

This should fix the crash that caused the revert.

Original commit message:

Instead of looking up the predicate from the VPValue condition instead
of the underlying IR.

This improves cost modeling in some cases, e.g. when we can fold
operations like negations in compares. On AArch64, this leads to
additional vectorization in a few cases in practice.


    [2 lines not shown]
DeltaFile
+5-3llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+4-4llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
+9-72 files

LLVM/project 2260035llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll

rebase

Created using spr 1.3.4
DeltaFile
+32,612-37,167llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+10,663-10,024llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+5,981-8,885llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
+84,757-99,04014,492 files not shown
+922,155-653,21414,498 files

LLVM/project 2a5fbc1llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+32,612-37,167llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+10,663-10,024llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+5,981-8,885llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
+84,757-99,04014,492 files not shown
+922,155-653,21414,498 files

LLVM/project d8ddfd9llvm/test/Transforms/LoopVectorize/AArch64 select-costs.ll

[LV] Add additional select cost test with live-in compare cond (NFC).

Add test case that triggered revert f42af1407322865.
DeltaFile
+27-0llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
+27-01 files

LLVM/project 4d6de09clang/lib/CodeGen CGCall.cpp, llvm/include/llvm/IR Attributes.h

fix

Created using spr 1.3.7
DeltaFile
+3-7llvm/lib/IR/Attributes.cpp
+6-1llvm/lib/AsmParser/LLParser.cpp
+5-1llvm/include/llvm/IR/Attributes.h
+2-2llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+1-1clang/lib/CodeGen/CGCall.cpp
+17-125 files

LLVM/project c1c1e30llvm/lib/Target/AMDGPU SIRegisterInfo.td, llvm/test/CodeGen/AMDGPU fmamk_fmaak-t16.mir

[AMDGPU] Make VGPR_16_Lo128 allocatable

Allows allocation of V_FMAMK_F16/V_FMAAK_F16 registers in
real true16 mode.
DeltaFile
+12-7llvm/test/CodeGen/AMDGPU/fmamk_fmaak-t16.mir
+1-1llvm/lib/Target/AMDGPU/SIRegisterInfo.td
+13-82 files

LLVM/project 9ca1757llvm/test/CodeGen/AMDGPU fmamk_fmaak-t16.mir

[AMDGPU] Add test for v_fmamk_f16/v_fmaak_f16 in real-true16. NFC

This is to display a bug in real true16 mode that we do not have
an allocatable 16-bit VGPR class and these instructions do not
have VOP3 forms for allocatable VGPR_16 to be used. To use these
instructions 'VGPR_16_Lo128' must be allocable.
DeltaFile
+31-0llvm/test/CodeGen/AMDGPU/fmamk_fmaak-t16.mir
+31-01 files

LLVM/project 699320allvm/lib/Transforms/IPO MemProfContextDisambiguation.cpp, llvm/test/Transforms/MemProfContextDisambiguation inlined3.ll

[MemProf] Propagate size info used for hint reporting to duplicates (#172535)

When we duplicate contexts (due to clones e.g. matching different
inlined instances), we were propagating the allocation type but not the
ContextSizeInfo, which is used for -memprof-report-hinted-sizes.
This meant that we never reported hinting for any of the duplicated
contexts, which can result in conservative results as in some cases only
the duplicated contexts are able to be cloned and hinted. Note that this
change could result in overly optimistic reporting in some cases.
DeltaFile
+19-5llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll
+4-1llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
+23-62 files

LLVM/project ef30e39llvm/include/llvm/IR Attributes.h Function.h, llvm/lib/IR Attributes.cpp Function.cpp

feedback

Created using spr 1.3.7
DeltaFile
+33-3llvm/include/llvm/IR/Attributes.h
+8-12llvm/lib/IR/Attributes.cpp
+2-2llvm/include/llvm/IR/Function.h
+2-2llvm/lib/IR/Function.cpp
+1-1llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+1-1llvm/include/llvm/IR/Argument.h
+47-211 files not shown
+48-227 files

LLVM/project 0b300d5llvm/docs LangRef.rst, llvm/lib/IR Attributes.cpp

update

Created using spr 1.3.7
DeltaFile
+8-4llvm/docs/LangRef.rst
+8-2llvm/test/Verifier/dead-on-return.ll
+1-1llvm/lib/IR/Attributes.cpp
+17-73 files

LLVM/project 13a5812llvm/test/CodeGen/AMDGPU fmamk_fmaak-t16.mir

[AMDGPU] Add test for v_fmamk_f16/v_fmaak_f16 in real-true16. NFC

This is to display a bug in real true16 mode that we do not have
an allocatable 16-bit VGPR class and these instructions do not
have VOP3 forms for allocatable VGPR_16 to be used. To use these
instructions 'VGPR_16_Lo128' must be allocable.
DeltaFile
+31-0llvm/test/CodeGen/AMDGPU/fmamk_fmaak-t16.mir
+31-01 files

LLVM/project 38cdaddllvm/lib/Target/DirectX DXILMemIntrinsics.cpp, llvm/test/CodeGen/DirectX/MemIntrinsics memcpy-struct.ll memcpy.ll

[DirectX] Teach MemIntrinsics about structs and nested arrays (#173078)

Add handling for more complicated cases than simple arrays.
DeltaFile
+46-35llvm/lib/Target/DirectX/DXILMemIntrinsics.cpp
+70-0llvm/test/CodeGen/DirectX/MemIntrinsics/memcpy-struct.ll
+28-28llvm/test/CodeGen/DirectX/MemIntrinsics/memcpy.ll
+14-14llvm/test/CodeGen/DirectX/MemIntrinsics/memcpy-pointee.ll
+158-774 files

LLVM/project 7f73e14llvm/utils git-llvm-push

[llvm][utils] Make git-llvm-push not convert remote URLs (#173303)

Previously git-llvm-push would convert all remote URLs to HTTPS,
including SSH remotes for reasons not motivated in the original PR. This
would cause issues in some setups where the HTTPs remote would be
read-only. This patch makes it so that git-llvm-push does not convert
SSH remotes to HTTPS remotes, preserving what the user originally
intended.

Fixes #172828.
DeltaFile
+2-22llvm/utils/git-llvm-push
+2-221 files

LLVM/project 0bcfaecclang/lib/Driver/ToolChains Clang.cpp CommonArgs.cpp, clang/test/Driver test.c fpartition-static-data-sections.c

Add flags
DeltaFile
+0-15clang/test/Driver/test.c
+8-2clang/lib/Driver/ToolChains/Clang.cpp
+2-1clang/lib/Driver/ToolChains/CommonArgs.cpp
+1-0clang/test/Driver/fpartition-static-data-sections.c
+11-184 files

LLVM/project 1f58d2dclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Canonicalization: leverage MLIR traits and folding

Replace custom rewrite patterns with dedicated fold implementations for ScopeOp, or rely on DCE in cases of effect-less SwitchOp.
DeltaFile
+1-39clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
+26-0clang/test/CIR/Transforms/canonicalize.cir
+21-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+6-3clang/include/clang/CIR/Dialect/IR/CIROps.td
+54-424 files

LLVM/project 7c83fb7llvm/utils/gn/secondary/clang/lib/Analysis/LifetimeSafety BUILD.gn

[gn build] Port bbd60c052310
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/Analysis/LifetimeSafety/BUILD.gn
+1-01 files

LLVM/project 82738e4clang/docs ReleaseNotes.rst

[libclang/python]  Add release notes for `reparse` throwing (#173301)

``TranslationUnit.reparse`` will now throw an exception when an error
occurs. Previously, errors were silently ignored.
DeltaFile
+2-0clang/docs/ReleaseNotes.rst
+2-01 files

LLVM/project 8b614cdlldb/tools/lldb-dap JSONUtils.cpp JSONUtils.h, lldb/tools/lldb-dap/Handler VariablesRequestHandler.cpp

[lldb-dap] Avoid unnecessary allocations when creating variables. (#172661)

This reduces unnecessary string allocations and copies when handling the
variables request.
DeltaFile
+43-48lldb/tools/lldb-dap/JSONUtils.cpp
+6-6lldb/tools/lldb-dap/JSONUtils.h
+4-6lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
+5-5lldb/tools/lldb-dap/ProtocolUtils.h
+1-1lldb/tools/lldb-dap/ProtocolUtils.cpp
+59-665 files

LLVM/project 0aaca05llvm/utils/gn/secondary/clang/lib/Frontend BUILD.gn, llvm/utils/gn/secondary/clang/tools/clang-linker-wrapper BUILD.gn

[gn] port llvm/lib/Plugins changes

This ports:
* 2634a2bda1db92ab5324
* c3678c4165b554a2908d
DeltaFile
+5-0llvm/utils/gn/secondary/llvm/lib/Plugins/BUILD.gn
+1-4llvm/utils/gn/secondary/llvm/lib/Extensions/BUILD.gn
+1-1llvm/utils/gn/secondary/clang/tools/clang-linker-wrapper/BUILD.gn
+1-1llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
+1-1llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn
+1-1llvm/utils/gn/secondary/llvm/tools/llvm-lto2/BUILD.gn
+10-86 files not shown
+16-1012 files

LLVM/project 5acbb9e. test

test
DeltaFile
+0-0test
+0-01 files

LLVM/project 2e16cadlibc/src/__support alloc-checker.h, libc/src/__support/CPP new.h README.md

[libc] Split out src/__support/alloc-checker.h (#173104)

This moves the libc-internal AllocChecker API out of
src/__support/CPP/new.h and updates CPP/README.md to state the
intent to keep src/__support/CPP and the LIBC_NAMESPACE::cpp
namespace a "pure" subset of standard C++ API polyfills.
DeltaFile
+77-0libc/src/__support/alloc-checker.h
+4-62libc/src/__support/CPP/new.h
+23-8libc/src/__support/CPP/README.md
+3-3libc/src/string/strndup.cpp
+2-2libc/test/src/__support/File/file_test.cpp
+2-1libc/src/__support/File/linux/file.cpp
+111-7612 files not shown
+123-7618 files

LLVM/project 1235409llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/X86 shuffle-of-intrinsics.ll

[VectorCombine] foldShuffleOfIntrinsics - support multiple uses of shuffled ops (#173183)

Fixes #173037

Remove the `m_OneUse` restriction in `foldShuffleOfIntrinsics` and
update the cost model to account for additional uses of the original intrinsics.
DeltaFile
+82-0llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
+11-4llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+93-42 files