LLVM/project f7423dbllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.320bit.ll

[CodeGen] Mark the undefined sub-registers of a tuple as IMPLICIT_DEF in two address instruction pass
DeltaFile
+6,591-4,375llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+4,008-1,124llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+2,340-1,318llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+3,288-56llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
+1,841-1,234llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+2,848-56llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
+20,916-8,163369 files not shown
+62,510-21,630375 files

LLVM/project 3367599clang/lib/CodeGen CGCoroutine.cpp, clang/test/CodeGenCoroutines coro-gro.cpp coro-cwg2935.cpp

[clang][CodeGen][Coro] Fix missing EHCleanup for eagerly returned GRO (#206392)

When the GRO is returned eagerly, its value is emitted directly to the
return-value slot. However, we failed to emit EHCleanup for it, leading
to resource leaks if an exception was thrown inside the ramp function.

#202279 fixed this for the period before `initial-await-resume-called`
is set to `true`. This patch extends that fix to cover the entire ramp
function.

Close #199627
DeltaFile
+33-16clang/test/CodeGenCoroutines/coro-gro.cpp
+0-35clang/test/CodeGenCoroutines/coro-cwg2935.cpp
+8-21clang/lib/CodeGen/CGCoroutine.cpp
+41-723 files

LLVM/project 8a6f6bdllvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

clang-format
DeltaFile
+7-3llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+7-31 files

LLVM/project 9c1161cclang/docs LifetimeSafety.rst, clang/include/clang/Basic DiagnosticSemaKinds.td DiagnosticGroups.td

[LifetimeSafety] Add separate diagnostic groups for constructor annotation suggestions (#206254)

Reason:
* Better selective enablement.
* In experience, constructor annotations are the most useful and
improves detection by manifolds.
DeltaFile
+13-4clang/lib/Sema/SemaLifetimeSafety.h
+7-7clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
+12-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+9-2clang/include/clang/Basic/DiagnosticGroups.td
+2-0clang/docs/LifetimeSafety.rst
+43-135 files

LLVM/project 1229188lldb/test/API/functionalities/breakpoint/breakpoint_conditions TestBreakpointConditions.py

[lldb][test] Skip TestBreakpointConditions.py on Windows on Arm (#206433)

Has been failing a lot lately on the buildbot, see #206141.

Which part fails seems to vary so I'm disabling all of it.
DeltaFile
+2-1lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+2-11 files

LLVM/project 87090c2llvm/utils/lit/tests shtest-output-printing.py

fix test for Windows?

Created using spr 1.3.8-wip
DeltaFile
+1-1llvm/utils/lit/tests/shtest-output-printing.py
+1-11 files

LLVM/project ce23278llvm/test/CodeGen/ARM vector-lrint.ll fpclamptosat_vec.ll, llvm/test/MC/Disassembler/AMDGPU gfx11_dasm_vop3_from_vop2.txt gfx11_dasm_vop3_from_vop2-fake16.txt

Merge branch 'main' into users/madhur13490/gvn-coerce-noalias-fix
DeltaFile
+1,833-1,841llvm/test/CodeGen/ARM/vector-lrint.ll
+1,197-1,198llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
+0-2,217llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2.txt
+2,020-0llvm/test/MC/M68k/MOVE.s
+921-940llvm/test/CodeGen/ARM/vector-llrint.ll
+1,849-0llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2-fake16.txt
+7,820-6,1961,035 files not shown
+52,584-24,1841,041 files

LLVM/project f589458compiler-rt/test/cfi lit.cfg.py

Fix in stacked PR

Created using spr 1.3.7
DeltaFile
+3-1compiler-rt/test/cfi/lit.cfg.py
+3-11 files

LLVM/project 6cf5bdfcompiler-rt/test/cfi lit.cfg.py

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+3-1compiler-rt/test/cfi/lit.cfg.py
+3-11 files

LLVM/project 5ade132compiler-rt/test/cfi lit.cfg.py

Fix python lint

Created using spr 1.3.7
DeltaFile
+3-1compiler-rt/test/cfi/lit.cfg.py
+3-11 files

LLVM/project f108671lldb/packages/Python/lldbsuite/test gdbclientutils.py, lldb/source/Plugins/Process/gdb-remote GDBRemoteCommunication.cpp GDBRemoteCommunication.h

[lldb] Ignore notification packets (#204788)

The gdb-protocol spec says

> Recipients should silently ignore corrupted notifications and
notifications they do not understand.

This changes `WaitForPacketNoLock` so that it ignores all notifications
(I'm not sure about corrupted ones).

An example of a notification that causes issues without this change is
that OpenOCD sends `%ookeepalive:00` notifications during memory
accesses.

Fixes #197944
DeltaFile
+71-0lldb/test/API/functionalities/gdb_remote_client/TestIgnoringNotifications.py
+40-2lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+9-6lldb/packages/Python/lldbsuite/test/gdbclientutils.py
+4-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
+124-84 files

LLVM/project 6cdd03acompiler-rt/test/cfi lit.cfg.py mfcall.cpp, compiler-rt/test/cfi/cross-dso target_out_of_bounds.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+4-2compiler-rt/test/cfi/lit.cfg.py
+6-0compiler-rt/test/cfi/cross-dso/target_out_of_bounds.cpp
+5-0compiler-rt/test/cfi/mfcall.cpp
+3-0compiler-rt/test/cfi/cross-dso/icall/diag.cpp
+2-0compiler-rt/test/cfi/target_uninstrumented.cpp
+2-0compiler-rt/test/cfi/multiple-inheritance.cpp
+22-212 files not shown
+39-218 files

LLVM/project e8ddd50llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV clmul.ll

Split PR into a separate one setting =1 for all CFI tests

Created using spr 1.3.7
DeltaFile
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+12,991-3,310llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+11,856-3,719llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
+4,004-11,142llvm/test/CodeGen/RISCV/clmul.ll
+6,940-6,782llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+73,802-84,50910,307 files not shown
+641,854-436,40810,313 files

LLVM/project eb97b27llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp AMDGPUHWEvents.cpp

[RFC][SIInsertWaitCnts] Remove VMemTypes

This can be considered a RFC. I'd personally like to get rid of VMEMTypes
but I don't know if anyone feels strongly that they should be kept.

My motivation for removing VMemTypes is simple: They are just a repeat
of VMEM events, just under a different name, and messier (defined as a
basic enum but actually stored as a bitmask later). It's just confusing.

This patch eliminates the need for them by:

- Adding a new entrypoint in AMDGPUHWEvents to get the basic set of
  VMEM events issued by a VMEM Instruction.
- Set BVH/SAMPLER events irrespective of whether the HW can track them.
  These events exist anyway, it should be up to InsertWaitCnt to deal with them
  properly (which is easy, only `counterOutOfOrder` needed work).
- Tracking an additional set of per-VGPR "PendingEvents" which is
  set using the "basic set of VMEM events" and cleared as needed.


    [3 lines not shown]
DeltaFile
+33-54llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+7-6llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
+11-0llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
+51-603 files

LLVM/project 6e7d0d9llvm/test/CodeGen/AMDGPU mixed-vmem-types.ll waitcnt-bvh.mir

[AMDGPU][InsertWaitCnts] Improve testing coverage for VMemTypes

The next patch will get rid of VMEMTypes, but some of its functionality
was not tested well. This patch adds more tests to fix gaps in testing
so that the next patch in the stack can be shown to have no impact
on codegen.

The 2 issues I had noticed was that we didn't have a test for mixed
vmem types w/ BVH, only for sampler; we also did not have a test
that was affected by `clearVmemTypes`, so removing that call
had no effect.

This patch adds tests for both cases.
DeltaFile
+241-4llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
+8-0llvm/test/CodeGen/AMDGPU/waitcnt-bvh.mir
+249-42 files

LLVM/project 2fcfef4llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers BUILD.gn

[gn build] Port f3a69752ac18 (#206432)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
+1-01 files

LLVM/project 75dcaa1llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability BUILD.gn

[gn build] Port 5e4ac011bdd7 (#206431)
DeltaFile
+1-0llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
+1-01 files

LLVM/project 94bb7f5llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV clmul.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+12,991-3,310llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+11,856-3,719llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
+4,004-11,142llvm/test/CodeGen/RISCV/clmul.ll
+6,940-6,782llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+73,802-84,50910,305 files not shown
+641,854-436,27110,311 files

LLVM/project 195ebadmlir/test/Dialect/Bufferization/Transforms static-memory-planner-analysis.mlir

[mlir][bufferization] Restructure tests per review feedback

- Add Test 2: non-sequential pairs (alloc alloc dealloc dealloc)
- Add Test 3: interleaved pairs (alloc alloc dealloc alloc dealloc dealloc)
- Renumber original Tests 2-7 to Tests 4-8
- Add Test 9: LCM alignment (alignment=4, alignment=16 → lcm=16)
- Fix Test 1 comment wording to 'sequential alloc and dealloc pairs'
DeltaFile
+82-29mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-analysis.mlir
+82-291 files

LLVM/project 41ef9d7lldb/include/lldb/Utility Log.h, lldb/source/Commands Options.td CommandObjectLog.cpp

[lldb] Add option to log in JSONL format (#205758)

This patch adds a -j option to the log command that prints all log
messages as their own single-line JSON objects. The resulting output log
file is then a valid JSONL file with the message and metadata as their
own fields.

The motivation for this change is that writing any tooling that
analyzses LLDB logs is currently very difficult to get right. Our
current log messages often span multiple lines, and even the metadata
(e.g., stacktraces) span multiple lines. Even worse, the message content
is effectively arbitrary bytes (such as memory values) that need can
only be parsed back into a series of log messages via several
heuristics.

assisted-by: claude
DeltaFile
+63-1lldb/source/Utility/Log.cpp
+46-0lldb/unittests/Utility/LogTest.cpp
+30-0lldb/test/API/commands/log/basic/TestLogging.py
+8-0lldb/include/lldb/Utility/Log.h
+3-0lldb/source/Commands/Options.td
+3-0lldb/source/Commands/CommandObjectLog.cpp
+153-16 files

LLVM/project df4f247clang-tools-extra/clang-doc YAMLGenerator.cpp

[clang-doc] Remove unused simple_ilist comparison operators (NFC) (#206309)

These operator== and operator!= templates in YAMLGenerator.cpp were
never called. They went in as infrastructure that never got wired up,
and now a cleanup exposed them under -Wunused-template. Remove the dead
code.

NFC. Part of #202945.
DeltaFile
+0-18clang-tools-extra/clang-doc/YAMLGenerator.cpp
+0-181 files

LLVM/project e13beaellvm/lib/Transforms/Vectorize VPlanPatternMatch.h

[VPlan] Remove internal linkage from findUserOf templates (NFC) (#202974)

The `findUserOf` function templates are `static` in a header, so every
translation unit that includes it gets its own internal-linkage copy.
That's a latent ODR hazard, and it trips `-Wunused-template` in TUs that
don't instantiate them. Dropping `static` gives them external linkage
(templates are implicitly inline, so nothing else changes).

NFC: linkage-only change.

Part of #202945.
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+3-31 files

LLVM/project 0cc3adallvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp

[AMDGPU] Clean up `LowerFP_TO_INT_SAT` (NFC) (#206118)

This is a follow-up to #202680.
DeltaFile
+11-15llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+11-151 files

LLVM/project d98f750llvm/lib/ExecutionEngine/JITLink aarch32.cpp, llvm/lib/ExecutionEngine/Orc OrcABISupport.cpp

[JITLink][ORC] Clean up unused and assert-only function templates (NFC) (#202973)

These function templates trip `-Wunused-template`.

In `aarch32.cpp`, `writeRegister` has no callers, so it's removed.
`checkRegister` is only used inside `assert`, so it gets compiled out in
release builds (`-DNDEBUG`) and never instantiates; it's marked
`[[maybe_unused]]`. Same story for `stubAndPointerRangesOk` in
`OrcABISupport.cpp`, which is only used in asserts.

NFC.

Part of #202945.
DeltaFile
+2-18llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
+3-3llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
+5-212 files

LLVM/project 504edc6llvm/utils/lit/tests shtest-output-printing.py

fix test

Created using spr 1.3.8-wip
DeltaFile
+1-1llvm/utils/lit/tests/shtest-output-printing.py
+1-11 files

LLVM/project 9cc5827llvm/lib/Target/Mips/Disassembler MipsDisassembler.cpp, llvm/lib/Target/Mips/MCTargetDesc MipsELFObjectWriter.cpp

[Mips] Remove unused function templates (NFC) (#202971)

A few function templates in the Mips MC layer have no callers anywhere,
so they never get instantiated and trip `-Wunused-template`. They all
live in `.cpp` files, so this is plain dead-code removal.

`MipsELFObjectWriter.cpp`: `copy_if_else` and `find_best` lost their
only user when `sortRelocs` was rewritten in #104723. The
`FindBestPredicateResult` enum existed only for `find_best`, so it goes
too.

`MipsDisassembler.cpp`: `DecodeDAHIDATIMMR6` isn't referenced by any
`DecoderMethod`. The r6 DAHI/DATI instructions decode through its
sibling `DecodeDAHIDATI`, which is what the generated tables actually
call.

NFC: removes uninstantiated templates only.

Part of #202945.
DeltaFile
+0-55llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
+0-15llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
+0-702 files

LLVM/project eda0b7ellvm/include/llvm/Object ELF.h

[Object][ELF] Remove internal linkage from header function templates (NFC) (#202969)

These `static` function templates live in a header, so every translation
unit that includes it gets its own internal-linkage copy. That's a
latent ODR hazard, and it trips `-Wunused-template` in every TU that
doesn't instantiate them. Dropping `static` gives them external linkage
(templates are implicitly inline, so nothing else changes). This matches
`getElfArchType` in the same file, which is already a plain `inline`
helper.

NFC: linkage-only change.

Part of #202945
DeltaFile
+13-14llvm/include/llvm/Object/ELF.h
+13-141 files

LLVM/project 4eb7340clang/docs ReleaseNotes.rst, clang/lib/Sema SemaInit.cpp

[Clang][Sema] Fix crash on init-list of array with incomplete element type (#205973)

## Summary

Fixes #140685.

clangd (and clang itself, with assertions enabled) crashes on:

```cpp
struct MoveOnly;
void test() {
  MoveOnly (&&list)[1] = {};
}
```

with

```
Assertion failed: (CanDeclareSpecialMemberFunction(RD) && "doing special member lookup into record that isn't fully complete"), function LookupSpecialMember, file SemaLookup.cpp

    [41 lines not shown]
DeltaFile
+18-0clang/test/SemaCXX/init-list-incomplete-dtor-crash.cpp
+6-1clang/lib/Sema/SemaInit.cpp
+1-0clang/docs/ReleaseNotes.rst
+25-13 files

LLVM/project 114730bclang/docs ReleaseNotes.rst, clang/lib/AST Type.cpp

[Clang] Handle deduced auto types within AtomicType (#197874)

This patch fixes handling of deduced types nested inside AtomicType.

Previously, GetContainedDeducedTypeVisitor did not recurse through
AtomicType nodes, causing getContainedDeducedType() to incorrectly
return null for types such as:

**_Atomic(__auto_type)**

As a result, undeduced AutoType instances could bypass semantic checks
and later reach codegen/type layout paths, eventually triggering
assertions such as:

_!A->getDeducedType().isNull() && "cannot request the size of an
undeduced or dependent auto type_

This patch adds AtomicType traversal support to
GetContainedDeducedTypeVisitor so contained deduced types are properly

    [15 lines not shown]
DeltaFile
+26-0clang/test/Sema/atomic-auto-type.c
+23-2clang/lib/Sema/SemaTemplateDeduction.cpp
+10-0clang/test/CodeGen/atomic-auto-type.c
+4-0clang/lib/AST/Type.cpp
+3-0clang/docs/ReleaseNotes.rst
+66-25 files

LLVM/project b426dd5clang/lib/Lex Preprocessor.cpp

[clang][Lex] Optimize the FileCheckPoints search in Preprocessor (#206356)

Resolves a FIXME and improved linear search by replacing with a binary
search on the FileCheckPoints SmallVector in Lex/Preprocessor.

- used std::upper_bound to find the upper bound of the Start position.
- handle special case if the Start is less than all elements in
FileCheckPoints so returns a nullptr;
- else return the dereferenced value of the CheckPoint just before Start
point.
DeltaFile
+4-9clang/lib/Lex/Preprocessor.cpp
+4-91 files