LLVM/project 4768b37llvm/test/MC/LoongArch/Relocations sub-expr.s

[LoongArch][test] Pre-commit test for generate more PCRel relocations (#211756)
DeltaFile
+7-0llvm/test/MC/LoongArch/Relocations/sub-expr.s
+7-01 files

LLVM/project f896082libcxx/include/__configuration compiler.h, libcxx/include/__memory unique_temporary_buffer.h allocator.h

Revert "[libc++] Remove __libcpp_allocate" (#222814)

Reverts llvm/llvm-project#220981

This is breaking premerge. See comments on the original PR.
DeltaFile
+252-0libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+78-0libcxx/include/__new/allocate.h
+12-23libcxx/include/__memory/allocator.h
+4-15libcxx/include/__memory/unique_temporary_buffer.h
+0-6libcxx/include/__configuration/compiler.h
+3-3libcxx/include/__utility/small_buffer.h
+349-4712 files not shown
+364-6318 files

LLVM/project def519ellvm/lib/Transforms/IPO GlobalOpt.cpp, llvm/test/Transforms/GlobalOpt deadglobal-comdat.ll

Handle COMDAT Alias
DeltaFile
+22-0llvm/test/Transforms/GlobalOpt/deadglobal-comdat.ll
+2-1llvm/lib/Transforms/IPO/GlobalOpt.cpp
+24-12 files

LLVM/project 4c4b4b0llvm/lib/Object OffloadBinary.cpp, llvm/test/ObjectYAML/Offload compressed.yaml

[Offloading] Add support for compressed OffloadBinary types

Summary:
Offload binaries are used to store many heterogenous architectures into
a singel offloading blob. These lists can get very large so this PR adds
the option to compress them with the LLVM provided compression
libraries.

The implementation is quite simple, we simply compress all the buffers
after the header into a single compressed blob, then re-construct the
header. Extracting is the reverse.

The biggest change is that the offload binary now **owns** the memory,
whereas before we simply took a reference to it. This is necessary
because the decompression must create new memory compared to what the
user provided. This adds an extra copy internally, but it also
simplifies the V2 additions.

This does not wire up any clang/HIP support, just providing the
functionality.
DeltaFile
+130-45llvm/lib/Object/OffloadBinary.cpp
+68-0llvm/unittests/Object/OffloadingTest.cpp
+41-0llvm/test/tools/llvm-objdump/Offloading/compressed.test
+34-2llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
+30-0llvm/test/ObjectYAML/Offload/compressed.yaml
+25-1llvm/tools/obj2yaml/offload2yaml.cpp
+328-489 files not shown
+399-6315 files

LLVM/project b4285cdllvm/include/llvm/BinaryFormat Magic.h, llvm/lib/BinaryFormat Magic.cpp

[LLVM] Add zstd compressed frame magic to LLVM magic

Summary:
ZSTD uses magic to indentify compressed frames in the bitstream. Add
this as a recognized file magic type so that we can identify compressed
streams that LLVM creates.
DeltaFile
+27-2llvm/unittests/BinaryFormat/TestFileMagic.cpp
+5-0llvm/lib/BinaryFormat/Magic.cpp
+1-0llvm/unittests/BinaryFormat/CMakeLists.txt
+1-0llvm/lib/Object/ObjectFile.cpp
+1-0llvm/lib/Object/Binary.cpp
+1-0llvm/include/llvm/BinaryFormat/Magic.h
+36-26 files

LLVM/project 171c215clang/unittests/CodeGen QualTypeMapperTest.cpp, flang/test/Fir/OpenACC acc-fir-map-info-prep-attach.mlir

Merge branch 'main' into users/mayanez/test/print-on-crash
DeltaFile
+487-0lldb/source/Plugins/TypeSystem/Fortran/TypeSystemFortran.h
+295-0clang/unittests/CodeGen/QualTypeMapperTest.cpp
+247-0lldb/test/API/functionalities/gdb_remote_client/TestBreakpointNotHit.py
+158-0flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
+96-9llvm/include/llvm/ABI/Types.h
+100-0llvm/unittests/ABI/IRTypeMapperTest.cpp
+1,383-9187 files not shown
+2,734-226193 files

LLVM/project 740ac9flld/ELF/Arch AMDGPU.cpp

[AMDGPU][lld] Remove "using namespace llvm" from AMDGPU.cpp

AMDGPU class in anonymous namespace collides with llvm::AMDGPU,
causing an error with MSVC.
DeltaFile
+0-1lld/ELF/Arch/AMDGPU.cpp
+0-11 files

LLVM/project 5ced7fcutils/bazel/llvm-project-overlay/clang BUILD.bazel, utils/bazel/llvm-project-overlay/clang/unittests BUILD.bazel

Fix bazel build for clang/unittests:codegen_tests (#222817)

Fixes https://github.com/llvm/llvm-project/pull/221375 (commit
a1cd84100bd0) by exporting QualTypeMapper.h and adding missing
dependencies.
DeltaFile
+10-5utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+2-0utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
+12-52 files

LLVM/project b8007a8lld/test/MachO arm64-x1.s, llvm/include/llvm/TargetParser Triple.h

[ld64.lld, llvm-otool] Minimal arm64e.x1 support (#222721)

Just enough for `llvm-otool -hv` to dump the cpusubtype, and for
ld64.lld to not reject .tbd files that have an arm64e.x1 slice.

This is needed to link mac binaries against the macOS 27 SDK.
DeltaFile
+20-0lld/test/MachO/arm64-x1.s
+17-0llvm/test/tools/llvm-readobj/macho-arm64e_x1.test
+7-0llvm/tools/llvm-objdump/MachODump.cpp
+6-0llvm/lib/Object/MachOObjectFile.cpp
+6-0llvm/include/llvm/TargetParser/Triple.h
+5-0llvm/test/tools/llvm-readobj/MachO/file-headers-arm64.test
+61-06 files not shown
+73-112 files

LLVM/project 5ce6d3alldb/packages/Python/lldbsuite/test gdbclientutils.py, lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp

[lldb][Darwin] Don't mark threads as having hit bp if not (#222488)

When a multithreaded program stops exeuction with a mach exception on
more than one thread, if one of the threads is *at* a breakpoint site,
but hasn't *hit* the breakpoint yet, lldb was incorrectly stepping over
the breakpoint instruction when it resumed execution. This would result
in TestConcurrentManyBreakpoints reporting that a breakpoint hit on 100
threads was only hit 99 times, because one of the breakpoints was
silently stepped past without being counted.

The bug happened because on Darwin/debugserver systems the stop info
packet includes a `jstopinfo` which is a JSON dictionary of all threads
that have an exception. When `jstopinfo` is present, ProcessGDBRemote
was initializing any thread not included in `jstopinfo` as having an
empty StopInfo. It did this without checking if we are _at_ a breakpoint
site, and marking the thread as "Stopped at unexecuted breakpoint
instruction". Because the threads now had an empty StopInfo already, the
other places where we might check "if stopped at unexecuted breakpoint
instruction" were never executed.

    [10 lines not shown]
DeltaFile
+247-0lldb/test/API/functionalities/gdb_remote_client/TestBreakpointNotHit.py
+14-7lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+10-0lldb/packages/Python/lldbsuite/test/gdbclientutils.py
+3-2lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
+3-0lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
+0-1lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
+277-106 files

LLVM/project 54cabbelibcxx/include/__configuration compiler.h, libcxx/include/__memory unique_temporary_buffer.h allocator.h

Revert "[libc++] Remove __libcpp_allocate (#220981)"

This reverts commit 5b757b81db35e7611f0d5f242a2bd53f3894c084.
DeltaFile
+252-0libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+78-0libcxx/include/__new/allocate.h
+12-23libcxx/include/__memory/allocator.h
+4-15libcxx/include/__memory/unique_temporary_buffer.h
+0-6libcxx/include/__configuration/compiler.h
+3-3libcxx/include/__utility/small_buffer.h
+349-4712 files not shown
+364-6318 files

LLVM/project ce0642eutils/bazel/llvm-project-overlay/flang/unittests BUILD.bazel, utils/bazel/llvm-project-overlay/mlir BUILD.bazel

Fixes MLIR dialect Bazel dependencies from commit 5d1b4094534c etc (#222812)

Added missing deps.

Fixes current bazel failures in @llvm-project//flang/unittests:all
DeltaFile
+18-2utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+13-0utils/bazel/llvm-project-overlay/flang/unittests/BUILD.bazel
+31-22 files

LLVM/project 9ac5a0fflang/lib/Optimizer/OpenACC/Transforms ACCMapInfoPrep.cpp, flang/test/Fir/OpenACC acc-fir-map-info-prep-attach.mlir

[flang][acc] Update descriptor attach rules to only pointer/allocatable (#222760)

When a clause maps only a descriptor's data, ACCMapInfoPrep should infer
an attach point and name the descriptor only for POINTER and
ALLOCATABLE, which OpenACC requires to be maintained on the device. See
flang/docs/OpenACC-descriptor-management.md.
DeltaFile
+158-0flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
+31-9flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
+189-92 files

LLVM/project 09f7ac8clang/test/CIR/CodeGenHIP amdgcnspirv-kernel.hip

fix: Check HIP SPIR-V version metadata after lowering
DeltaFile
+3-0clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
+3-01 files

LLVM/project 7cb6357clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVMOpenCLMetadata.h LowerToLLVM.cpp, clang/test/CIR/CodeGenOpenCL version.cl

[CIR][OpenCL] Lower OpenCL language version metadata to LLVM dialect

Propagate CIR OpenCL language version module attributes as LLVM dialect named metadata before LLVM IR translation.

Assisted-by: Codex / GPT-5.6 Sol
DeltaFile
+43-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.cpp
+16-0clang/test/CIR/CodeGenOpenCL/version.cl
+16-0clang/test/CIR/Lowering/opencl-version-metadata.cir
+2-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.h
+2-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+79-05 files

LLVM/project 5df8389clang/include/clang/CIR/Dialect/IR CIROpenCLAttrs.td

fix: Document the companion OpenCL version requirement
DeltaFile
+7-1clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
+7-11 files

LLVM/project 5a36c34clang/lib/CIR/CodeGen CIRGenModule.h CIRGenModule.cpp, clang/test/CIR/CodeGenOpenCL version.cl

[CIR][OpenCL] Emit OpenCL language version metadata in CIR

Emit OpenCL and C++ for OpenCL language version attributes from CIRGen. Preserve the compatible OpenCL version and the C++ for OpenCL version separately so later lowering does not infer one from the other.

Assisted-by: Codex / GPT-5.6 Sol
DeltaFile
+15-0clang/test/CIR/CodeGenOpenCL/version.cl
+13-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+4-0clang/test/CodeGenCUDASPIRV/kernel-cc.cu
+1-0clang/lib/CIR/CodeGen/CIRGenModule.h
+33-04 files

LLVM/project cce3c71clang/lib/CIR/Dialect/IR CIRDialect.cpp

fix: separate CIR attribute dispatch from OpenCL verification
DeltaFile
+20-8clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+20-81 files

LLVM/project df55187clang/include/clang/CIR/Dialect/IR CIRDialect.td CIROpenCLAttrs.td, clang/lib/CIR/Dialect/IR CIROpenCLAttrs.cpp CIRDialect.cpp

[CIR][OpenCL] Add OpenCL language version module attributes

Add structured CIR module attributes for OpenCL and C++ for OpenCL language versions. Verify their module-level placement and version components so lowering can consume explicit source-language version state.

Assisted-by: Codex / GPT-5.6 Sol
DeltaFile
+76-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+73-0clang/test/CIR/IR/invalid-version.cir
+28-0clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
+19-0clang/test/CIR/IR/version.cir
+15-0clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
+5-0clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+216-01 files not shown
+219-17 files

LLVM/project 63a6930clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/lib/CodeGen CodeGenModule.cpp

fix: Supply the HIP SPIR-V version only for metadata emission

Fix the assertion exposed by PR #214246 under the version invariant from PR #219687. Supply OpenCL 2.0 in classic CodeGen and CIRGen without changing HIP language options or enabling OpenCL-only Sema restrictions.

Assisted-by: Codex / GPT-6
DeltaFile
+8-0clang/test/CodeGenHIP/hipspv-kernel.cpp
+8-0clang/test/SemaHIP/atomic-init.hip
+4-2clang/lib/CIR/CodeGen/CIRGenModule.cpp
+3-1clang/lib/CodeGen/CodeGenModule.cpp
+2-0clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
+25-35 files

LLVM/project 62f49c1clang/include/clang/CIR/Dialect/IR CIRDialect.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

fix: remove duplicate CIR operation attribute verifier

Related: e32ffd8b546f4a743812756efe11a7424cf9de5f
DeltaFile
+6-12clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+1-2clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+7-142 files

LLVM/project c027b3corc-rt/include/orc-rt-c/support Error.h

[orc-rt] Fix typo in file header. (#222636)
DeltaFile
+1-1orc-rt/include/orc-rt-c/support/Error.h
+1-11 files

LLVM/project 6959b7dmlir/include/mlir/IR OpDefinition.h

[mlir] Use pointers for static operation hooks to improve build time (NFC) (#222804)

Return raw function pointers from static operation-hook accessors to
avoid instantiating unique-function construction machinery for every
operation.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.201T (-3.646%) and median wall time
fell from 41.04s to 38.80s (-5.458%).

Assisted-by: Codex
DeltaFile
+14-12mlir/include/mlir/IR/OpDefinition.h
+14-121 files

LLVM/project f9fb79fmlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp, mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

[mlir][LLVM] Use a disjoint scope domain when inlining noalias

This matches recent changes to the LLVM inliner.

AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
DeltaFile
+28-25mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+10-18mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+38-432 files

LLVM/project a06bf18mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Update comment
DeltaFile
+2-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-21 files

LLVM/project d1705c8mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Remove pointless comment
DeltaFile
+0-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+0-21 files

LLVM/project 7773adfmlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr

This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.

AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
DeltaFile
+25-0mlir/test/Target/LLVMIR/Import/metadata-alias-scopes.ll
+23-0mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
+17-2mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+4-2mlir/lib/Target/LLVMIR/ModuleImport.cpp
+4-1mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-2mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+75-76 files

LLVM/project cf599b5llvm/lib/Target/AMDGPU AMDGPULowerModuleLDSPass.cpp, llvm/test/CodeGen/AMDGPU lower-lds-struct-aa-memcpy.ll remove-no-kernel-id-attribute.ll

[AMDGPU] Use a disjoint scope domain for merged LDS structs

When lowering LDS values, all the values are mutually disjoint, so we
can use the newly-added disjoint scopes feature to simplify the IR.

AI disclosure: Claude wrote this and I reviewed it and wrote the
 commit message
DeltaFile
+16-51llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+35-10llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
+15-18llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
+11-13llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
+8-12llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
+9-10llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
+94-1146 files not shown
+140-16012 files

LLVM/project fc6fbdbmlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

Test that the inliner keeps the flag when it clones a domain

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+35-0mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+35-01 files

LLVM/project 31a6207llvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp, llvm/test/CodeGen/AMDGPU lower-kernargs.ll si-split-load-store-alias-info.ll

[AMDGPU] Use a disjoint scope domain for noalias kernel arguments

All noalias arguments of a kernel are disjoint with each other, so we
can use a disjoint scope to save on metadata construction.

AI disclosure: Claude wrote this, I looked at it and wrote this
message.
DeltaFile
+53-64llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
+20-13llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+11-11llvm/test/CodeGen/AMDGPU/lower-kernel-arguments-noalias-call-no-ptr-args.ll
+8-8llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
+4-4llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
+96-1005 files