LLVM/project d09ffballdb/docs/resources formatterbytecode.rst, lldb/examples/python formatter_bytecode.py

[lldb][bytecode] Add GetParent and Clone selectors (#197312)

`GetParent` and `Clone` are needed to implement a `std::optional<T>`
data formatter for libc++.
DeltaFile
+15-0lldb/source/DataFormatters/FormatterBytecode.cpp
+11-0lldb/examples/python/formatter_bytecode.py
+2-0lldb/docs/resources/formatterbytecode.rst
+2-0lldb/include/lldb/DataFormatters/FormatterBytecode.def
+30-04 files

LLVM/project b20b8d4llvm/include/llvm/Target TargetSelectionDAG.td, llvm/lib/Target/X86 X86InstrSSE.td X86InstrAVX512.td

[X86] Remove extra MOV after widening atomic store

This change adds patterns to optimize out an extra MOV present after
widening the atomic store. Covers <2 x i8> (SSE4.1+), <2 x i16>,
<4 x i8>, <2 x i32>, <2 x float>, <4 x i16>, <2 x ptr addrspace(270)>.
DeltaFile
+47-64llvm/test/CodeGen/X86/atomic-load-store.ll
+30-24llvm/test/CodeGen/X86/atomic-unordered.ll
+35-0llvm/include/llvm/Target/TargetSelectionDAG.td
+10-10llvm/lib/Target/X86/X86InstrSSE.td
+6-6llvm/lib/Target/X86/X86InstrAVX512.td
+1-1llvm/lib/Target/X86/X86ISelLowering.cpp
+129-1056 files

LLVM/project 7637943llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp LegalizeTypes.h, llvm/test/CodeGen/X86 atomic-load-store.ll

[SelectionDAG] Widen <2 x T> vector types for atomic store

Vector types of 2 elements must be widened. This change does this
for vector types of atomic store in SelectionDAG so that it can
translate aligned vectors of >1 size.
DeltaFile
+198-0llvm/test/CodeGen/X86/atomic-load-store.ll
+54-0llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+253-03 files

LLVM/project 94667a7lldb/include/lldb/ValueObject ValueObject.h, lldb/source/API SBValue.cpp

[lldb] Increase availability of ValueObject::GetParent (#197311)

While working formatter bytecode, one of the C++ formatters needs
`GetParent`. While adding `GetParent` support in the bytecode, I noticed
the SB API also does not expose `GetParent`. This remedies that.

During review of this PR, it was pointed out that `GetParent` does work
with synthetic value objects. This PR also addresses that shortcoming.

Assisted-by: claude
DeltaFile
+39-0lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
+15-0lldb/test/API/python_api/sbvalue_get_parent/main.cpp
+12-2lldb/include/lldb/ValueObject/ValueObject.h
+14-0lldb/source/API/SBValue.cpp
+3-0lldb/source/ValueObject/ValueObjectSynthetic.cpp
+2-0lldb/test/API/python_api/sbvalue_get_parent/Makefile
+85-22 files not shown
+88-28 files

LLVM/project 3e70c42llvm/lib/Target/AMDGPU AMDGPULibCalls.cpp, llvm/test/CodeGen/AMDGPU amdgpu-simplify-libcall-ldexp.ll

[AMDGPU] AMDGPULibCalls: Set new ldexp intrinsic calling convention to C (#198246)

Found the issue while trying to add libclc test for ldexp.
DeltaFile
+10-0llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
+11-02 files

LLVM/project 00b13e2clang/lib/AST/ByteCode Interp.h Interp.cpp, clang/test/SemaCXX constant-expression-p2280r4.cpp

[clang][bytecode] Improve constexpr-unknown handling (#196334)

1) Global variables as well as dummies can not be marked
constexpr-unknown. There is a subtlety here with global variables: we
can't register it as constexpr-unknown and later figure out that it
actually _isn't_.
 2) Add a `GetRefGlobal` op similar to the existing `GetRefLocal`.
 3) Reject constexpr-unknown values in `CmpHelperEQ<Pointer>`
 4) Diagnose constexpr-unknown values in `GetTypeidPtr`
DeltaFile
+26-38clang/test/SemaCXX/constant-expression-p2280r4.cpp
+44-7clang/lib/AST/ByteCode/Interp.h
+18-4clang/lib/AST/ByteCode/Interp.cpp
+7-10clang/lib/AST/ByteCode/Pointer.cpp
+11-5clang/lib/AST/ByteCode/Program.cpp
+10-6clang/lib/AST/ByteCode/Compiler.cpp
+116-703 files not shown
+122-739 files

LLVM/project 2377f82llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU SIISelLowering.cpp

[AMDGPU] Add amdgcn.av.(load|store).b128 intrinsics (#191390)

The new `@llvm.amdgcn.av` family of intrinsics have availability and
visibility semantics as described in #191246. Each of them takes a scope
operand that is then translated to target-specific cache policy bits.
This allows the user to control how the side-effects of these loads and
stores are made visible to other threads.

This patch was extracted from #172090.

Co-authored-by: macurtis-amd <macurtis at amd.com>
Assisted-by: Claude Opus 4.6
DeltaFile
+12,365-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+2,148-0llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
+1,551-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
+94-0llvm/docs/AMDGPUUsage.rst
+57-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+29-0llvm/test/Verifier/AMDGPU/intrinsics-av.ll
+16,244-06 files not shown
+16,350-012 files

LLVM/project 4cad982clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeAnnotations.h, clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp FactsGenerator.cpp

[LifetimeSafety] Fix false negative for GSL Owner methods inherited from a non-Owner base
DeltaFile
+44-0clang/test/Sema/warn-lifetime-safety.cpp
+20-8clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+4-3clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+3-1clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
+1-1clang/lib/Sema/CheckExprLifetime.cpp
+72-135 files

LLVM/project c1b4748llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-bitcast-paired.ll rvp-narrowing-shift-trunc.ll

[RISCV][P-ext] Set BITCAST to Custom for 64-bit packed vectors on RV32 (#198267)

Bitcasts between i64 and v8i8/v4i16/v2i32 used to expand to a stack
roundtrip, and the resulting concat_vectors let DAG combine split
paired-register arithmetic into two single-reg ops (e.g. v8i8 add became
two padd.b instead of one padd.db). The existing Is64BitCast handler in
LowerOperation already treats these as no-ops; this just routes through
it.
DeltaFile
+100-0llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
+0-4llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
+1-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+101-43 files

LLVM/project 476b8c8lldb/source/API SBValue.cpp, lldb/source/Plugins/Language/CPlusPlus LibCxxMap.cpp LibCxx.cpp

[lldb] Change ValueObject::Clone to take StringRef (NFC) (#198035)

Make `ValueObject`'s name being a `ConstString` more of an
implementation detail by changing `Clone` and `SetName` take a
`StringRef`.
DeltaFile
+6-6lldb/source/ValueObject/ValueObject.cpp
+5-5lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
+5-5lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
+2-6lldb/source/ValueObject/ValueObjectCast.cpp
+3-3lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
+3-3lldb/source/API/SBValue.cpp
+24-2818 files not shown
+48-5524 files

LLVM/project 39e36baclang/lib/CodeGen/TargetBuiltins AMDGPU.cpp, clang/test/CodeGenOpenCL builtins-amdgcn-gfx1250-load-monitor.cl

[AMDGPU][Clang] use a ScopeModel when emitting load_monitor [NFC]

Assisted-By: Claude Opus 4.6
DeltaFile
+27-0clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
+16-9clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+1-1clang/test/SemaHIP/incorrect-atomic-scope.hip
+44-103 files

LLVM/project f7c49a9clang/docs ReleaseNotes.rst, clang/lib/Sema SemaDecl.cpp

[Clang] Fixed a crash when instantiating an invalid out-of-line static data member definition in a local class (#196772)

Add check before the function that cause assertion.
Fix #176152, Fix #195416
DeltaFile
+21-0clang/test/SemaTemplate/gh176152.cpp
+3-0clang/lib/Sema/SemaDecl.cpp
+1-1clang/docs/ReleaseNotes.rst
+25-13 files

LLVM/project 91d102fclang/lib/Driver/ToolChains AMDGPU.cpp AMDGPU.h, llvm/include/llvm/TargetParser AMDGPUTargetParser.h TargetParser.h

[NFC][AMDGPU] Remove AMDGPU related code from generic TargetParser.cpp
DeltaFile
+659-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+1-643llvm/lib/TargetParser/TargetParser.cpp
+109-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-90llvm/include/llvm/TargetParser/TargetParser.h
+1-1clang/lib/Driver/ToolChains/AMDGPU.cpp
+1-1clang/lib/Driver/ToolChains/AMDGPU.h
+772-73527 files not shown
+797-76033 files

LLVM/project c48bc2fclang/test/CodeGen link-builtin-bitcode.c, clang/test/CodeGenOpenCL builtins-amdgcn.cl

[AMDGPU] Add three target features msad-insts, mqsad-pk-insts, and mqsad-insts
DeltaFile
+43-7llvm/lib/Target/AMDGPU/AMDGPU.td
+29-0llvm/lib/TargetParser/TargetParser.cpp
+8-10clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+5-7llvm/lib/Target/AMDGPU/VOP3Instructions.td
+11-0llvm/test/MC/AMDGPU/gfx12_5_generic_asm_vop3_err.s
+3-3clang/test/CodeGen/link-builtin-bitcode.c
+99-276 files not shown
+113-3512 files

LLVM/project 17ec2d7llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/Thumb2 mve-clmul.ll

Merge remote-tracking branch 'upstream/main' into users/ssahasra/av-intrinsics
DeltaFile
+23,873-20,923llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+8,633-8,584llvm/test/CodeGen/Thumb2/mve-clmul.ll
+1,243-8,768llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
+8,195-0llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
+8,182-0llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
+6,862-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+56,988-38,2754,230 files not shown
+332,907-160,8674,236 files

LLVM/project 700f693llvm/include/llvm/TargetParser AMDGPUTargetParser.h TargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp TargetParser.cpp

[NFC][AMDGPU] Remove AMDGPU related code from generic TargetParser.cpp
DeltaFile
+659-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+1-643llvm/lib/TargetParser/TargetParser.cpp
+109-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-90llvm/include/llvm/TargetParser/TargetParser.h
+1-1mlir/lib/Target/LLVM/ROCDL/Target.cpp
+1-1llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
+772-73527 files not shown
+797-76033 files

LLVM/project a4cd17ellvm/include/llvm/Demangle DemangleConfig.h

[llvm] Fix DEMANGLE_ABI for MinGW (#198288)

Exclude MinGW from __declspec(dllimport) like LLVM_ABI in
llvm/include/llvm/Support/Compiler.h does. MinGW auto-exports all DLL
symbols, so __declspec is not needed and causes undefined __imp__
references when linking static libraries.
DeltaFile
+1-1llvm/include/llvm/Demangle/DemangleConfig.h
+1-11 files

LLVM/project 74a466aclang/test/CodeGenOpenCL builtins-amdgcn.cl builtins-amdgcn-gfx12-5-generic-err.cl, llvm/lib/Target/AMDGPU AMDGPU.td VOP3Instructions.td

[AMDGPU] Add three target features msad-insts, mqsad-pk-insts, and mqsad-insts
DeltaFile
+43-7llvm/lib/Target/AMDGPU/AMDGPU.td
+29-0llvm/lib/TargetParser/TargetParser.cpp
+8-10clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+5-7llvm/lib/Target/AMDGPU/VOP3Instructions.td
+11-0llvm/test/MC/AMDGPU/gfx12_5_generic_asm_vop3_err.s
+6-0clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
+102-242 files not shown
+106-288 files

LLVM/project 80662a0clang-tools-extra/clang-tidy/misc StaticInitializationCycleCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/misc static-initialization-cycle.cpp

Reland "[clang-tidy] Fix crash in misc-static-initialization-cycle" (#198329)

This commit fixes misc-static-initialization-cycle crashing on catch
(...).

Catch-all handlers have no exception declaration, so traversal of
CXXCatchStmt can call TraverseDecl(nullptr). The check previously passed
that null pointer to DeclContext::containsDecl. This commit fixes the
problem by adding a null guard.

Also added `-fexceptions` in the regression test to avoid buildbot
failure.
DeltaFile
+9-1clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
+1-1clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
+10-22 files

LLVM/project be011admlir/lib/Dialect/GPU/IR GPUDialect.cpp, mlir/test/Dialect/GPU invalid.mlir

[mlir][gpu] Diagnose too few launch region arguments (#198232)

Use the cluster-aware argument count when verifying `gpu.launch` bodies,
and update `invalid.mlir` with clustered and non-clustered malformed
launches.
DeltaFile
+15-1mlir/test/Dialect/GPU/invalid.mlir
+7-3mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
+22-42 files

LLVM/project 4dc56b6clang/test/AST ast-dump-lambda-json.cpp ast-dump-template-json-win32-mangler-crash.cpp, llvm/lib/Support UnicodeNameToCodepointGenerated.cpp

Merge branch 'main' into users/vzakhari/opt_buf_non_addressable
DeltaFile
+23,873-20,923llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+1,243-8,768llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
+1,381-2,562llvm/test/CodeGen/X86/avx512-calling-conv.ll
+0-3,387clang/test/AST/ast-dump-lambda-json.cpp
+7-3,217clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
+0-2,091clang/test/AST/ast-dump-default-arg-json.cpp
+26,504-40,948974 files not shown
+70,435-66,361980 files

LLVM/project 45348dallvm/lib/Target/AMDGPU AMDGPU.td

[AMDGPU] Change the base feature of FeatureISAVersion12_5_Generic to FeatureISAVersion12_50_Common (#198406)
DeltaFile
+4-2llvm/lib/Target/AMDGPU/AMDGPU.td
+4-21 files

LLVM/project 731a114flang/include/flang/Optimizer/Dialect FIROps.td, flang/test/HLFIR opt-bufferization-skip-volatile.fir

[flang] Pass-through fir.volatile_cast in FIR AliasAnalysis. (#198050)

It should be safe to pass-through `fir.volatile_cast` for the purpose of
alias analysis. The missing pass-through prevented optimization of the
`nonvolatile_src_volatile_dst` test (see updated LIT test).
DeltaFile
+98-4flang/test/HLFIR/opt-bufferization-skip-volatile.fir
+12-1flang/include/flang/Optimizer/Dialect/FIROps.td
+110-52 files

LLVM/project b743835clang/test/CIR/CodeGenCXX new-array-init-list-non-trivial-dtor.cpp, flang/test/Semantics/OpenACC acc-default-none-scalars.f90

Merge branch 'main' into users/shiltian/change-gfx12-5-generic-base
DeltaFile
+267-0clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
+165-0lldb/tools/lldb-dap/extension/test/unit/process-tree.test.ts
+132-0lldb/tools/lldb-dap/extension/src/commands/pick-process.ts
+111-0lldb/tools/lldb-dap/extension/src/process-tree.ts
+107-0lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
+77-0flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
+859-043 files not shown
+1,534-12149 files

LLVM/project 4dc8a02llvm/test/CodeGen/NVPTX machine-cse-predicate-inversion.ll machine-cse-predicate-no-inversion.ll

Remove march and unnecessary load from tests
DeltaFile
+2-96llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
+2-37llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll
+2-4llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-vector-float.ll
+2-3llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
+8-1404 files

LLVM/project 001d432clang/lib/Parse ParseExprCXX.cpp

move checks
DeltaFile
+3-5clang/lib/Parse/ParseExprCXX.cpp
+3-51 files

LLVM/project a3f1267libcxx/include/__locale_dir locale_base_api.h

[libc++] Revert changes to locale_base_api.h accidentally committed in f5b6e4f (#198413)

These changes weren't intended to be in the patch and don't make sense
as-is, so this reverts them.
DeltaFile
+0-3libcxx/include/__locale_dir/locale_base_api.h
+0-31 files

LLVM/project 93a14f8llvm/lib/MC MCSubtargetInfo.cpp

[NFC] Optimize `SetImpliedBits` (#193289)

This function sometimes shows up on my profiles of slow compiles as
using up to ~3% of CPU cycles. This change reduces this to ~0%. So, it's
not a huge improvement, but it's not nothing.

Currently, this function recursively sets all implied bits for every
feature, which does a lot of redundant work. Many features are implied
by multiple different other features.

This changes the algorithm to only process newly implied bits.

I suspect that a better fix would be to avoid so many calls to
`SetImpliedBits` in the first place, but this is a deeper change that is
probably best made by someone who understands the structure of the
surrounding code.

Fixes #155808
DeltaFile
+17-9llvm/lib/MC/MCSubtargetInfo.cpp
+17-91 files

LLVM/project 46da0c5clang/include/clang/Parse Parser.h, clang/lib/Parse ParseExprCXX.cpp

rename `isSecondCallForIfCond` to `isParsingSecondClauseOfC2yIfCondition`
DeltaFile
+9-8clang/lib/Parse/ParseExprCXX.cpp
+6-4clang/include/clang/Parse/Parser.h
+15-122 files

LLVM/project 0e20732clang/docs ReleaseNotes.rst

address diff in release notes
DeltaFile
+5-5clang/docs/ReleaseNotes.rst
+5-51 files