LLVM/project ed9c49e — lldb/source/Core CMakeLists.txt ModuleList.cpp, lldb/source/Plugins/TypeSystem/Clang CMakeLists.txt TypeSystemClang.cpp

[lldb] Set the default clang module cache path in TypeSystemClang
DeltaFile
+11-4lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+0-6lldb/source/Core/ModuleList.cpp
+0-3lldb/source/Core/CMakeLists.txt
+1-0lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt
+12-134 files

LLVM/project d312cea — lldb/include/lldb/Core PluginManager.h, lldb/source/Commands CMakeLists.txt CommandObjectTarget.cpp

[lldb] Register 'target modules dump pcm-info' from TypeSystemClang
DeltaFile
+76-1lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+0-63lldb/source/Commands/CommandObjectTarget.cpp
+8-5lldb/source/Core/PluginManager.cpp
+6-4lldb/include/lldb/Core/PluginManager.h
+0-3lldb/source/Commands/CMakeLists.txt
+2-0lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt
+92-761 files not shown
+94-767 files

LLVM/project a4ec26c — llvm/test/CodeGen/AMDGPU gds-load-store.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-constant.mir legalize-load-flat.mir

Merge branch 'main' into users/arsenm/remove-kill-flags/x86/no-isel-kill-flags
DeltaFile
+3,103-3,156llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+3,245-2,647llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+2,490-2,634llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+4,568-0llvm/test/CodeGen/AMDGPU/gds-load-store.ll
+2,148-2,222llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
+1,812-1,908llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+17,366-12,5671,598 files not shown
+79,880-34,9321,604 files

LLVM/project 427cd6f — clang/lib/CIR/CodeGen CIRGenModule.h CIRGenModule.cpp, clang/test/CIR/CodeGenSYCL string-literal-addrspace-nyi.cpp global-address-space.cpp

[CIR][SYCL] Emit SYCL device globals in the global address space (#229293)

ClangIR now puts SYCL device globals, static locals 
and string literals with no explicit address space in
 sycl_global, matching classic CodeGen, instead of 
reporting them as not yet implemented.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+95-0clang/test/CIR/CodeGenSYCL/global-address-space.cpp
+5-16clang/lib/CIR/CodeGen/CIRGenModule.cpp
+0-20clang/test/CIR/CodeGenSYCL/string-literal-addrspace-nyi.cpp
+0-7clang/lib/CIR/CodeGen/CIRGenModule.h
+100-434 files

LLVM/project 349d2eb — libc/test/src/math/smoke CMakeLists.txt

[libc][NFC] Temporarily disable powf smoke test for GPU. (#229793)
DeltaFile
+3-0libc/test/src/math/smoke/CMakeLists.txt
+3-01 files

LLVM/project c88f999 — llvm/include/llvm/IR RuntimeLibcalls.td

RuntimeLibcalls: Add provider libraries for targets to reference

Add shared LibcallLibrary defs for targets to reference instead of listing
impls directly: compiler-rt, libm and libc. Define various OS specific library
variants.

ARM, Lanai and SPIRV are migrated to the new organization here. The remaining
targets' SystemRuntimeLibrary bodies are stubbed to (add) and filled in by
pending per-target changes.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+431-318llvm/include/llvm/IR/RuntimeLibcalls.td
+431-3181 files

LLVM/project 35f85de — llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll systemz.ll

RuntimeLibcalls: Add baseline DeclareRuntimeLibcalls tests

Add per-target/OS/ABI tests for the runtime libcall sets that lacked coverage so
upcoming LibcallLibrary refactors don't accidentally change behavior.

update_test_checks does not support checking function declarations, so these
were generated by a bespoke script. In the future it would be better to add a
flag to update_test_checks.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+2,772-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+1,662-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+1,536-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+1,474-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+1,058-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+961-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+9,463-08 files not shown
+14,488-014 files

LLVM/project ca99991 — libcxxabi/src private_typeinfo.h private_typeinfo.cpp

[libc++abi] Split catch_info from __dynamic_cast_info (#223744)

A lot of fields are only used for either exception handling or the
implementation of `dynamic_cast`, but not both. Splitting them makes it
clear which algorithm is using which data, and it reduces the memory
footprint a bit.
DeltaFile
+13-63libcxxabi/src/private_typeinfo.cpp
+30-16libcxxabi/src/private_typeinfo.h
+43-792 files

LLVM/project bec73b4 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 combine-storetomstore.ll half.ll

[X86] Keep scalar bf16/f16 selects in vector registers (#224218)

Scalar `select` on a soft-promoted `bf16`/`f16` currently lowers to a CMOV,
which extracts both operands out of XMM into GPRs and moves the result
back. Instead, blend them in vector register.

I do blending in `v8i16` rather than `v8f16` because a `v8f16` VSELECT can
fail to select on subtargets that fall back to BLENDV when there is no
VBLENDVPH.

Right now I skip the transform when the operands are constants(no extra
cost being in GPR), a compare feeds the condition (CMOV reuses the flags
so hard to tell if worth it), both operands bit cast from GPR or f16 is
legal and a mask register select can be selected.

AI was used for review and bug fixing as well as writing comments.
DeltaFile
+443-0llvm/test/CodeGen/X86/bfloat.ll
+95-64llvm/test/CodeGen/X86/half.ll
+62-70llvm/test/CodeGen/X86/combine-storetomstore.ll
+73-0llvm/lib/Target/X86/X86ISelLowering.cpp
+673-1344 files

LLVM/project 53f3709 — llvm/include/llvm/IR IRBuilder.h, llvm/include/llvm/Transforms/InstCombine InstCombiner.h

[IRBuilder] Make IRBuilder inserter non-virtual (#229700)

Currently IRBuilderBase stores a reference to a virtual Inserter.
Replace this with a single function_ref callback, which is populated by
a method on `IRBuilder<>`, which always has a known Inserter.

This is a small compile-time improvement.

Based on discussion in https://github.com/llvm/llvm-project/pull/229437.
DeltaFile
+38-28llvm/include/llvm/IR/IRBuilder.h
+3-5llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
+0-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+1-1polly/include/polly/CodeGen/IRBuilder.h
+1-1llvm/lib/Transforms/Scalar/SROA.cpp
+1-1llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
+44-392 files not shown
+45-428 files

LLVM/project 0e573a5 — clang/test/CIR/CodeGen call-conv-lowering-x86_64-abi-size.c, clang/test/CodeGen/X86 x86_64-abi-size.c

[LLVMABI] Address reviewer feedback

Give every abi::Type an ABI size, the size Clang's getTypeSize gives it,
and use it wherever the x86-64 classifier and isSingleElementStruct
mirror a getTypeSize call.  The X86 width helpers are removed.

Assisted-by: Claude Code / Claude Opus 5.5
DeltaFile
+261-0llvm/unittests/ABI/X86TargetInfoTest.cpp
+199-0clang/test/CodeGen/X86/x86_64-abi-size.c
+127-0clang/test/CIR/CodeGen/call-conv-lowering-x86_64-abi-size.c
+33-66llvm/lib/ABI/Targets/X86.cpp
+79-2clang/unittests/CodeGen/QualTypeMapperTest.cpp
+75-0llvm/unittests/ABI/TypesTest.cpp
+774-685 files not shown
+892-10711 files

LLVM/project edde212 — llvm/lib/CodeGen TargetLoweringBase.cpp, llvm/lib/Target/X86 X86ISelLowering.h X86TargetTransformInfo.cpp

[X86][TTI]Model the sqrt folded into the reciprocal estimate as free (#229482)

The scalar sqrt, divided into with the reciprocal allowed, is folded
with
the division into the rsqrt* estimate sequence. Report no cost for it
when
the type has the estimate and the function does not disable it, so the
vectorizers do not pack it and break the folding.

Assisted-by: Cursor
DeltaFile
+119-0llvm/test/Transforms/SLPVectorizer/X86/once-used-rsqrt-seeds.ll
+95-0llvm/test/Analysis/CostModel/X86/sqrt-rsqrt-estimate.ll
+18-14llvm/lib/Target/X86/X86ISelLowering.cpp
+22-0llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+10-2llvm/lib/CodeGen/TargetLoweringBase.cpp
+4-0llvm/lib/Target/X86/X86ISelLowering.h
+268-161 files not shown
+269-167 files

LLVM/project 952f22a — lldb/source/Expression DWARFExpression.cpp DWARFExpressionList.cpp, lldb/source/Symbol UnwindPlan.cpp

[lldb] Don't link DWARFUnit to print DWARF expressions
DeltaFile
+2-3lldb/source/Expression/DWARFExpressionList.cpp
+1-1lldb/source/Symbol/UnwindPlan.cpp
+1-1lldb/source/Expression/DWARFExpression.cpp
+4-53 files

LLVM/project 8b10840 — lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp

[lldb] Create COFFObjectFile directly in ObjectFilePECOFF
DeltaFile
+4-10lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+4-101 files

LLVM/project 261b306 — llvm/include/llvm/IR RuntimeLibcallsImpl.td RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Add function signatures to RTLIB. (#226264)

This PR adds function signatures to `RuntimeLibcall` and maps C-type
specified signatures into IR types in
`RuntimeLibcalls::getFunctionTy()`.
Since llvm/ABI is not available now (it is only supporting ararch64 and
x86), loose mapping from C-types to IR types is used.
DeltaFile
+398-381llvm/include/llvm/IR/RuntimeLibcalls.td
+100-1llvm/lib/IR/RuntimeLibcalls.cpp
+62-5llvm/test/TableGen/RuntimeLibcallEmitter.td
+29-29llvm/test/Transforms/Util/DeclareRuntimeLibcalls/basic.ll
+55-1llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+42-2llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+686-4197 files not shown
+738-44313 files

LLVM/project 9961d9d — llvm/include/llvm/DebugInfo/DWARF DWARFExpressionPrinter.h, llvm/lib/DebugInfo/DWARF DWARFExpressionPrinterImpl.h DWARFExpressionPrinterUnit.cpp

[DebugInfo] Print DWARF expressions without a DWARFUnit dependency
DeltaFile
+31-39llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
+57-0llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinterUnit.cpp
+40-0llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinterImpl.h
+26-0llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
+6-0llvm/include/llvm/DebugInfo/DWARF/DWARFExpressionPrinter.h
+1-0llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
+161-391 files not shown
+162-397 files

LLVM/project 2295fcd — llvm/lib/Object CMakeLists.txt SymbolicFile.cpp, llvm/utils/gn/secondary/llvm/lib/Object BUILD.gn

[Object] Move the createBinary/createObjectFile factories into their own file
DeltaFile
+266-0llvm/lib/Object/ObjectFactories.cpp
+0-83llvm/lib/Object/Binary.cpp
+0-79llvm/lib/Object/ObjectFile.cpp
+0-63llvm/lib/Object/SymbolicFile.cpp
+1-0llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
+1-0llvm/lib/Object/CMakeLists.txt
+268-2256 files

LLVM/project 8474b61 — clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Loans.cpp

field-origin-escape
DeltaFile
+94-3clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
+30-15clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+26-0clang/lib/Analysis/LifetimeSafety/Checker.cpp
+16-0clang/lib/Sema/SemaLifetimeSafety.h
+16-0clang/lib/Analysis/LifetimeSafety/Loans.cpp
+13-2clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+195-203 files not shown
+213-209 files

LLVM/project 9fd5181 — lldb/source/Plugins/TypeSystem/Clang TypeSystemClang.cpp

fixup! [lldb] Register 'target modules dump pcm-info' from TypeSystemClang
DeltaFile
+1-1lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+1-11 files

LLVM/project 081fbc3 — clang/lib/CodeGen TargetInfo.cpp TargetInfo.h, clang/lib/CodeGen/TargetBuiltins NVPTX.cpp

[clang][NVPTX] Emit !atomic.ignore.denormal.mode for CUDA atomics

CUDA's atomicAdd() family is defined in terms of PTX atom.add, whose
denormal behavior is fixed by the hardware. Without any annotation the
backend has to assume the function's denormal mode must be honored and
expands these into CAS loops whenever the two disagree. Mark them with
!atomic.ignore.denormal.mode so the native instruction is used.

That covers the __nvvm_atom_*_add_gen_f builtins that atomicAdd(),
atomicAdd_block() and atomicAdd_system() are written in terms of, plus
C11/C++11 atomics under -fatomic-ignore-denormal-mode and the
[[clang::atomic(ignore_denormal_mode)]] attribute, which requires
teaching the NVPTX target about AtomicOptions.

The condition for when the metadata is meaningful is now shared with the
AMDGPU and SPIR-V targets in addAtomicIgnoreDenormalModeMetadata(). It
takes an AllowHalf flag because whether f16 denormals are observable is
target specific: PTX exposes no FTZ control for f16 operations, so
atom.add.f16 never flushes and the opt-in is meaningful there, whereas

    [3 lines not shown]
DeltaFile
+321-0clang/test/CodeGenCUDA/atomic-ignore-denormal-mode-nvptx.cu
+19-4clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
+18-0clang/lib/CodeGen/TargetInfo.h
+15-0clang/lib/CodeGen/TargetInfo.cpp
+12-0clang/lib/CodeGen/Targets/NVPTX.cpp
+2-4clang/lib/CodeGen/Targets/SPIR.cpp
+387-85 files not shown
+402-1711 files

LLVM/project cf6f4e3 — mlir/include/mlir/Dialect/LLVMIR LLVMOpBase.td LLVMOps.td, mlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp

[mlir][LLVM] Add ignore_denormal_mode UnitAttr to LLVM::AtomicRMWOp
DeltaFile
+22-5mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+8-7mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+8-0mlir/test/Dialect/LLVMIR/invalid.mlir
+7-0mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
+0-6mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
+4-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+49-184 files not shown
+56-2210 files

LLVM/project 22d7058 — llvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp, llvm/test/CodeGen/AArch64 smul_fix_sat.ll combine-sdiv.ll

[GlobalISel] Add G_MUL to computeNumSignBits (#229766)

handle `G_MUL` in `computeKnownBits`

Part of https://github.com/llvm/llvm-project/issues/150515.

Assisted-by: GPT 6.1 Sol
DeltaFile
+1,703-1,703llvm/test/CodeGen/AArch64/neon-dotreduce.ll
+64-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-mul.mir
+16-32llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
+17-0llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+1-3llvm/test/CodeGen/AArch64/combine-sdiv.ll
+1-2llvm/test/CodeGen/AArch64/smul_fix_sat.ll
+1,802-1,7402 files not shown
+1,804-1,7438 files

LLVM/project 31d89cb — clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files

LLVM/project 7dcc8e6 — clang/docs LanguageExtensions.md, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.md
+56-193 files not shown
+60-199 files

LLVM/project d16d9b8 — clang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncoding.cpp
+12-112 files

LLVM/project 8b99097 — clang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+3-1clang/test/CodeGen/systemz-charset.cpp
+2-1clang/lib/Lex/TextEncoding.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+20-25 files

LLVM/project 4e9a8f0 — clang-tools-extra/clang-tidy/utils FormatStringConverter.cpp, clang/lib/AST PrintfFormatString.cpp ScanfFormatString.cpp

Add isNoop to avoid conversion code in ActOnGCCAsmStmtString
DeltaFile
+41-31clang/lib/AST/FormatStringParsing.h
+31-31clang/lib/AST/FormatString.cpp
+20-20clang/lib/Sema/SemaChecking.cpp
+14-24clang/lib/AST/ScanfFormatString.cpp
+4-22clang/lib/AST/PrintfFormatString.cpp
+4-5clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
+114-1336 files not shown
+127-13912 files

LLVM/project c4a289a — clang/lib/AST FormatString.cpp ScanfFormatString.cpp

change char literals to u8'' to preserve behaviour in the case the
compiler is compiled with a different fexec-charset
DeltaFile
+44-44clang/lib/AST/PrintfFormatString.cpp
+28-28clang/lib/AST/ScanfFormatString.cpp
+28-27clang/lib/AST/FormatString.cpp
+100-993 files

LLVM/project cce9e42 — clang/lib/AST FormatStringParsing.h ScanfFormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+82-39clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+41-24clang/lib/Sema/SemaChecking.cpp
+28-14clang/lib/AST/ScanfFormatString.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+19-0llvm/lib/Support/TextEncoding.cpp
+241-1289 files not shown
+272-14615 files

LLVM/project c2c9c5a — clang/lib/AST ScanfFormatString.cpp PrintfFormatString.cpp, llvm/include/llvm/Support TextEncoding.h

rename char conversion function to convertBasicChar
DeltaFile
+18-17clang/lib/AST/FormatString.cpp
+12-12clang/lib/AST/PrintfFormatString.cpp
+3-5clang/lib/AST/ScanfFormatString.cpp
+3-1llvm/include/llvm/Support/TextEncoding.h
+36-354 files