LLVM/project c6d85cdclang/test/CodeGen builtins-nvptx.c, llvm/lib/Analysis ConstantFolding.cpp

[AMDGPU] Allow constant folding of bfloat
DeltaFile
+39-8llvm/test/CodeGen/AMDGPU/llvm.sin.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.cos.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sin.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cos.bf16.ll
+5-5clang/test/CodeGen/builtins-nvptx.c
+3-3llvm/lib/Analysis/ConstantFolding.cpp
+164-406 files

LLVM/project b55d1b4llvm/lib/Target/NVPTX NVPTXPassRegistry.def NVPTXTargetMachine.cpp

[NVPTX] Add NewPM boilerplate to NVPTXPrologEpilog (#215332)
DeltaFile
+40-19llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
+9-2llvm/lib/Target/NVPTX/NVPTX.h
+2-2llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+1-0llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
+52-234 files

LLVM/project c899f7cllvm/lib/Transforms/Utils Local.cpp

[DebugInfo] Print the record in the salvage debug line (#215903)

The line takes the record pointer, so -debug prints an address rather
than the record.

Changes -debug output only.
DeltaFile
+1-1llvm/lib/Transforms/Utils/Local.cpp
+1-11 files

LLVM/project 9cdbd68flang/lib/Optimizer/OpenACC/Transforms ACCDeclareActionConversion.cpp, flang/test/Fir/OpenACC declare-action-conversion.fir

[flang][OpenACC] Handle declare actions on CUF allocation ops (#214568)

Recover the typed descriptor from cuf.allocate and cuf.deallocate when
inserting calls to OpenACC declare-action recipes. Add conversion and
lowering coverage for pinned allocations.
DeltaFile
+33-0flang/test/Fir/OpenACC/declare-action-conversion.fir
+29-0flang/test/Lower/OpenACC/acc-declare-cuda-pinned.f90
+23-0flang/test/Lower/OpenACC/acc-declare-cuda-pinned-deallocate.f90
+5-0flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
+90-04 files

LLVM/project 5ca6f7ellvm/include/llvm/ProfileData SampleProfWriter.h SampleProfReader.h, llvm/unittests/ProfileData SampleProfTest.cpp

[ProfileData] Remove OnDiskMode from SecFuncOffsetTable (#215876)

This patch removes code related to OnDiskMode on both the reader and
writer sides.

Originally, I was going to use OnDiskChainedHashTable in
SecFuncOffsetTable, but I have decided to go with Eytzinger-based
tables.  Note that we have never deployed OnDiskChainedHashTable-based
SecFuncOffsetTable.

RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/8

Assisted-by: Antigravity
DeltaFile
+0-83llvm/unittests/ProfileData/SampleProfTest.cpp
+7-74llvm/include/llvm/ProfileData/SampleProfReader.h
+0-47llvm/include/llvm/ProfileData/SampleProfWriter.h
+7-2043 files

LLVM/project a46d86dllvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/CodeGen/ARM ldexp.ll llvm.frexp.ll

RuntimeLibcalls: Stop improperly reporting fp128 long double calls on ARM

32-bit ARM's long double is IEEE double, so l suffixed calls do not have fp128
type. Additionally, the f128 typed / suffixed functions are not built in glibc as
__HAVE_FLOAT128 is defined to 0 in the arch config. Remove the testcases
which emitted nonexistent or wrongly typed calls and replace with error
tests.

Related: #44744

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+5-49llvm/test/CodeGen/ARM/ldexp-fp128.ll
+1-52llvm/test/CodeGen/ARM/llvm.frexp.ll
+45-0llvm/test/CodeGen/RISCV/fp128.ll
+0-10llvm/test/CodeGen/ARM/ldexp.ll
+6-3llvm/include/llvm/IR/RuntimeLibcalls.td
+2-2llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
+59-1166 files

LLVM/project 0f46bf9llvm/test/CodeGen/ARM vector-lrint.ll, llvm/test/CodeGen/X86 vector-llrint.ll fp128-libcalls-strict-gnu.ll

RuntimeLibcalls: Fix reporting incorrectly typed fp128 long double functions

l-suffixed long double math functions are fp128 only when the target's
long double is fp128. The default set provided them on every target that was
not x87 or ppc_fp128, so targets using double as long double wrongly reported
the fp128 l-suffixed functions.

Update tests that were reliant on phantom fp128 calls. These are only available
with glibc on select targets. In cases where the target supports the calls in
some triple, split the tests. In cases where the target has no fp128 library
support, delete the tests.

Related: #44744

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+21-3,157llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
+5-2,046llvm/test/CodeGen/X86/fp128-libcalls.ll
+0-1,547llvm/test/CodeGen/X86/vector-lrint.ll
+1,283-0llvm/test/CodeGen/X86/fp128-libcalls-strict-gnu.ll
+0-1,205llvm/test/CodeGen/ARM/vector-lrint.ll
+0-868llvm/test/CodeGen/X86/vector-llrint.ll
+1,309-8,82347 files not shown
+2,503-12,08353 files

LLVM/project 8bc07a7llvm/lib/CodeGen/SelectionDAG LegalizeFloatTypes.cpp, llvm/test/CodeGen/NVPTX fp128-conv-no-libcall-error.ll

DAG: Gracefully diagnose missing FP conversion libcalls when softening

Diagnose the missing libcall and return poison instead.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+70-0llvm/test/CodeGen/NVPTX/fp128-conv-no-libcall-error.ll
+46-14llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+116-142 files

LLVM/project 830bc17llvm/cmake config-ix.cmake

[Darwin] Silence error if `ld-classic` not found (#215890)

Silence the `unable to find utility` xcrun error if `ld-classic` not
found.
DeltaFile
+1-0llvm/cmake/config-ix.cmake
+1-01 files

LLVM/project 5721918clang/test/CodeGenHLSL/resources RWTextures-Subscript.hlsl, llvm/lib/Target/DirectX DXILResourceAccess.cpp DXILOpLowering.cpp

[HLSL][DirectX] Implement lowering of texture stores (#212364)

Fixes https://github.com/llvm/llvm-project/issues/194930

This PR implements the DirectX lowering of texture stores via the
subscript operator (`.operator[]`).

Also adds missing frontend tests exercising stores to textures via the
subscript operator.

Also fixes an issue with `lowerTextureLoad` incorrectly supplying a mip
level to texture loads on UAV textures (except multisampled UAV
textures) which caused validation errors.

An UndefValue is used in the lowering because DXIL is based on an older
version of LLVM that requires the use of undef.

Assisted by: Claude Opus 5
DeltaFile
+176-0llvm/test/CodeGen/DirectX/TextureStore.ll
+132-42llvm/lib/Target/DirectX/DXILOpLowering.cpp
+153-0llvm/test/CodeGen/DirectX/ResourceAccess/store_texture.ll
+58-11llvm/lib/Target/DirectX/DXILResourceAccess.cpp
+61-0clang/test/CodeGenHLSL/resources/RWTextures-Subscript.hlsl
+59-0llvm/test/CodeGen/DirectX/TextureLoad.ll
+639-535 files not shown
+764-5311 files

LLVM/project 58599fellvm/lib/DWARFLinker/Parallel DWARFLinkerCompileUnit.h DWARFLinkerImpl.cpp, llvm/test/tools/dsymutil/Inputs/module-odr-language debug-map.map 1.ll

[DWARFLinker] Consider module units when creating the type unit (#215731)

The parallel linker creates the artificial type unit only when some
compile unit uses an ODR language, but it looks for that language in the
compile units of the object files alone. A clang module unit decides its
own ODR availability from its own DW_AT_language, so a module built as
C++ or ObjC++ imported from an object file whose units are all C, ObjC
or Swift places DIEs in the type table which does not exist, asserting
in CompileUnit::cloneDIE and dereferencing null without assertions.

Scan the languages of the module units as well, so a module which
deduplicates types always has a type unit to hold them.

rdar://182719465
DeltaFile
+37-0llvm/test/tools/dsymutil/X86/module-odr-language.test
+35-0llvm/test/tools/dsymutil/Inputs/module-odr-language/M.ll
+33-0llvm/test/tools/dsymutil/Inputs/module-odr-language/1.ll
+13-0llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
+7-0llvm/test/tools/dsymutil/Inputs/module-odr-language/debug-map.map
+3-0llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
+128-06 files

LLVM/project 33d5496lldb/include/lldb/Symbol SymbolLocator.h, lldb/source/Core DynamicLoader.cpp

[lldb] Search for a corefile's images before loading any of them

A userland or kernel corefile can list hundreds of images, and searching for
one can shell out to a symbol server or fetch over the network. Searching for
them one at a time is where loading such a corefile spends its time.

Add a batch form of SymbolLocator::Locate that runs the searches on the
debugger's thread pool, gated on target.parallel-module-load. Results come
back in the order the requests were given, since that order decides the
Target's module order. Only the results are ordered, and anything a search
reports to the user arrives in whatever order the searches finish in.

Only the plugin searches run concurrently, so a platform hook does not have to
be thread safe to take part, and reading a binary's UUID out of memory stays
on the calling thread.

Setting up a platform binary can replace the Target's platform and dynamic
loader, and now happens for every image before any of them is searched for, so
the platform a corefile asks for is the one all of its images are searched

    [4 lines not shown]
DeltaFile
+141-4lldb/unittests/Symbol/SymbolLocatorTest.cpp
+78-63lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+76-11lldb/source/Symbol/SymbolLocator.cpp
+32-20lldb/source/Core/DynamicLoader.cpp
+25-0lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
+19-0lldb/include/lldb/Symbol/SymbolLocator.h
+371-986 files

LLVM/project cf5c4b8lldb/include/lldb/Symbol SymbolLocator.h, lldb/include/lldb/Target Platform.h

[lldb] Consult the platform before the symbol locator plugins (NFC)

A symbol locator plugin has no Platform to consult, so a platform that knows
where its binaries live cannot take part in a search. The only way to reach
one is Platform::GetSharedModule, which also creates the module and registers
it, so the lookup cannot be reused by a caller that wants to search for many
binaries before creating any.

Add a hook that only answers where the files are. An answer ends the search,
so an override owns what the plugins would otherwise have been asked for.

No platform overrides it yet. A follow-up moves PlatformDarwinKernel's kext
and kernel index lookups behind it.

Assisted-by: Claude
DeltaFile
+70-0lldb/unittests/Symbol/SymbolLocatorTest.cpp
+18-0lldb/include/lldb/Target/Platform.h
+10-0lldb/source/Symbol/SymbolLocator.cpp
+4-0lldb/include/lldb/Symbol/SymbolLocator.h
+1-0lldb/source/Core/DynamicLoader.cpp
+103-05 files

LLVM/project ccf2349llvm/lib/Target/MSP430 MSP430CodeGenPassBuilder.cpp

[MSP430] Add AsmPrinter names

So that -stop-before=msp430-asm-printer works, which is used in some
DebugInfo tests.

Reviewers: aeubanks, asl

Pull Request: https://github.com/llvm/llvm-project/pull/215909
DeltaFile
+10-1llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
+10-11 files

LLVM/project 49bc892clang/test/SemaCXX coroutine-new-operator.cpp, flang/docs/MeetingNotes/2026 2026-08-12.md

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+699-0llvm/test/Transforms/ConstraintElimination/header-induction-start-bounds.ll
+84-0flang/docs/MeetingNotes/2026/2026-08-12.md
+39-30libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
+49-0clang/test/SemaCXX/coroutine-new-operator.cpp
+40-0llvm/test/Transforms/ArgumentPromotion/optnone.ll
+19-19libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
+930-49150 files not shown
+1,479-351156 files

LLVM/project 90e89aclldb/include/lldb/Symbol SymbolLocator.h, lldb/source/Core DynamicLoader.cpp

[lldb] Add a unified entry point for locating a binary and its symbols

The three-plugin composition that finds a binary and its symbol file is open
coded in several places. Give it one home, as a pure function of a module
spec, so that a caller holding several binaries can search for all of them
before creating any.

Nothing on this path takes a lock, where ModuleList::GetSharedModule holds the
shared module list's lock across the plugin search. That is what will make
searching for several binaries at once worth doing.

A miss that nothing could explain gets its own error type rather than an error
code, because a Status carrying an errno converts to the same llvm::ECError,
and a caller composing its own message for a plain miss must not swallow a
failure to reach a symbol server.

DynamicLoader's search no longer runs twice for a binary that is not already
known, and a module created from a located binary is now registered in the
shared module list, so a second Target asking for the same binary reuses it.

    [2 lines not shown]
DeltaFile
+201-0lldb/unittests/Symbol/SymbolLocatorTest.cpp
+45-36lldb/source/Core/DynamicLoader.cpp
+60-0lldb/include/lldb/Symbol/SymbolLocator.h
+49-0lldb/source/Symbol/SymbolLocator.cpp
+1-0lldb/unittests/Symbol/CMakeLists.txt
+356-365 files

LLVM/project ee040c5llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/X86 npm-asmprinter-stop-before.ll

[NewPM] Unconditionally add AsmPrinter

Otherwise -stop-before=<target>-asm-printer does not work. We should
never be running it if we print MIR, so adding it unconditionally
doesn't change any behavior.

Reviewers: paperchalice, arsenm, aeubanks

Pull Request: https://github.com/llvm/llvm-project/pull/215908
DeltaFile
+9-0llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
+5-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+14-12 files

LLVM/project 0edbd89clang/include/clang/CIR/Dialect Passes.td Passes.h, clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp

[CIR] Search the feature list once and assert on multiversioning

Review feedback on #215118.

funcAvxLevel walked the whole feature list once per name and was called
twice, so it now makes a single pass.

It also has no equivalent of the `hasAttr<TargetAttr>()` gate classic
uses.  A multiversioned function's feature list carries the same `+avx`
entry a plain `target` attribute produces, so this would take a raised
level where classic keeps the module's.  CIRGen rejects multiversioning
today, so an assert on opFuncMultiVersioning marks the gate that has to
go in when that changes.

Comments naming a function or file in classic CodeGen came out.  They go
stale when that code moves, and one already had, claiming a declaration
carries no features.  x86TargetAttrAvx is now allowsX86TargetAttrAvx,
after the function that produces it.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+21-23clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+5-9clang/lib/CIR/Lowering/CIRPasses.cpp
+1-1clang/include/clang/CIR/Dialect/Passes.td
+1-1clang/include/clang/CIR/Dialect/Passes.h
+28-344 files

LLVM/project 8aedcecllvm/lib/Target/AArch64/Disassembler AArch64Disassembler.cpp

AArch64Disassembler.cpp: Prune `DecodeUImm` [-Wunused-template] (#215558)

This has been introduced in #181386.
DeltaFile
+0-13llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+0-131 files

LLVM/project 819ed9fllvm/unittests/ADT HashingTest.cpp

HashingTest.cpp: Prune `StructWithHashBuilderAndHashValueSupport::hash_value()` [-Wunused-template] (#215561)

The customized version of `hash_value()` won't use it.
DeltaFile
+0-3llvm/unittests/ADT/HashingTest.cpp
+0-31 files

LLVM/project ceea25coffload/test/offloading ompx_bare_shfl_down_sync.cpp ompx_bare_ballot_sync.c

[Offload][Test] Fix tests by adding omp.h (#215904)

Fixed the offload tests after PR:
https://github.com/llvm/llvm-project/pull/215841.

```
Failed Tests (2):
  libomptarget :: amdgpu-amd-amdhsa :: offloading/ompx_bare_ballot_sync.c
  libomptarget :: amdgpu-amd-amdhsa :: offloading/ompx_bare_shfl_down_sync.cpp
```

https://lab.llvm.org/buildbot/#/builders/234/builds/2092
DeltaFile
+1-0offload/test/offloading/ompx_bare_shfl_down_sync.cpp
+1-0offload/test/offloading/ompx_bare_ballot_sync.c
+2-02 files

LLVM/project 6964dffoffload/languages/kernel CMakeLists.txt

[LLVMOffload] Fix LLVMOffloadKernel dylib dependency (#215902)

LLVMOffloadKernel was linking Offload through LINK_COMPONENTS, which
does not preserve the required LLVMOffload target dependency in dylib
builds. Match the other `offload/` libraries by selecting LLVM deps via
`LLVM_LINK_LLVM_DYLIB`, then link LLVMOffload explicitly.
DeltaFile
+7-4offload/languages/kernel/CMakeLists.txt
+7-41 files

LLVM/project c215051llvm/cmake config-ix.cmake

[Darwin] Silence error if `ld-classic` not found

Silence the `unable to find utility` xcrun error if `ld-classic` not found.
DeltaFile
+1-0llvm/cmake/config-ix.cmake
+1-01 files

LLVM/project 983fae7llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/X86 npm-asmprinter-stop-before.ll

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+9-0llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
+5-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+14-12 files

LLVM/project ee3bf6dllvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/MSP430 MSP430CodeGenPassBuilder.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-1llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
+9-0llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
+5-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+24-23 files

LLVM/project 8b8d864llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/test/CodeGen/X86 npm-asmprinter-stop-before.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+9-0llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
+5-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+14-12 files

LLVM/project 6df891bclang/docs SYCLSupport.md, clang/lib/Driver/ToolChains Clang.cpp

[clang][SYCL] Enable GPURelocatableDeviceCode and predefine __CLANG_RDC__ (#215437)

SYCL device compilation defaults to RDC. The driver now passes -fgpu-rdc
to the SYCL device -cc1 invocation by default (disabled with
-fno-gpu-rdc), setting the GPURelocatableDeviceCode LangOpt.

Expose RDC to source code for SYCL through the `__CLANG_RDC__`
predefined macro, similar to CUDA and HIP.

---------

Co-authored-by: Claude <noreply at anthropic.com>
Co-authored-by: Nick Sarnie <nick.sarnie at intel.com>
DeltaFile
+13-0clang/test/Driver/sycl-offload-jit.cpp
+6-4clang/lib/Driver/ToolChains/Clang.cpp
+10-0clang/test/Preprocessor/sycl-macro.cpp
+6-0clang/docs/SYCLSupport.md
+2-2clang/lib/Frontend/InitPreprocessor.cpp
+37-65 files

LLVM/project fdb39b1flang/docs/MeetingNotes/2026 2026-08-12.md

[flang] Add Flang Community Call notes for the August 12th meeting (#215853)
DeltaFile
+84-0flang/docs/MeetingNotes/2026/2026-08-12.md
+84-01 files

LLVM/project 491b0d1.github/workflows release-asset-audit.yml

workflows/release-asset-audit: Limit token to current repository (#215404)

The token had access to all llvm repositories which was unnecessary
since it was only used for llvm-project.

https://github.com/llvm/llvm-project/security/code-scanning/1865
DeltaFile
+1-0.github/workflows/release-asset-audit.yml
+1-01 files

LLVM/project 2d129d1clang/test/CIR/CodeGen call-conv-lowering-x86_64-atomic-nyi.c, clang/test/CIR/Transforms/abi-lowering x86_64-aggregate-nyi.cir

[CIR] Test the atomic wrapper's rejection at the pass level

CIRGen wraps an atomic narrower than its lock-free size in an anonymous padded
record whose trailing member is pad.  The x86_64 classifier rejects padded
records.  That rejection is pass behavior, so it belongs with the other cases
in x86_64-aggregate-nyi.cir rather than in a driver test of its own.

It also covers the anonymous record path, which every case in that file had
missed.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+11-0clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
+0-10clang/test/CIR/CodeGen/call-conv-lowering-x86_64-atomic-nyi.c
+11-102 files