LLVM/project cbab695llvm/test CMakeLists.txt, llvm/test/Feature codegen-plugin-legacy.ll

[llvm][test] Small fixes around CGTestPlugin (NFC) (#225362)

We use `LLVM_ENABLE_PLUGINS` as condition to run the unit-tests in
CGPluginTest, but we used to built the required plugin under `NOT WIN32
AND NOT CYGWIN`. These only happened to be equivalent. This patch guards
the entire folder under `LLVM_ENABLE_PLUGINS`. It also moves the related
LIT test to Feature/codegen-plugin-legacy.ll and adds REQUIRES plugin.
DeltaFile
+10-12llvm/unittests/CodeGen/CGPluginTest/Plugin/CMakeLists.txt
+0-10llvm/unittests/CodeGen/CGPluginTest/PluginTest.cpp
+0-7llvm/test/Other/codegen-plugin-loading.ll
+7-0llvm/test/Feature/codegen-plugin-legacy.ll
+4-1llvm/unittests/CodeGen/CMakeLists.txt
+4-0llvm/test/CMakeLists.txt
+25-306 files

LLVM/project c76fd47llvm/lib/Transforms/Vectorize VectorCombine.cpp

[VectorCombine] foldShuffleOfIntrinsics - don't use I variable name for Index iteration. NFC. (#225394)

Shadows the Instruction &I argument.

Noticed in #182768
DeltaFile
+18-16llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+18-161 files

LLVM/project 44509a1llvm/test/Analysis/UniformityAnalysis/AMDGPU control-flow-intrinsics.ll branch-after-join.ll

AMDGPU: Use subarch triples in uniformity analysis tests (#225386)
DeltaFile
+2-2llvm/test/Analysis/UniformityAnalysis/AMDGPU/inline-asm.ll
+1-1llvm/test/Analysis/UniformityAnalysis/AMDGPU/control-flow-intrinsics.ll
+1-1llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
+1-1llvm/test/Analysis/UniformityAnalysis/AMDGPU/b42473-r1-crash.ll
+1-1llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
+1-1llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
+7-728 files not shown
+35-3534 files

LLVM/project d61398dclang/test/CodeGen/AMDGPU amdgcn-av-none-attr.cpp amdgcn-av-none-amdgpu-atomic.cpp, clang/test/CodeGenOpenCL amdgpu-debug-info-pointer-address-space.cl spir_version.cl

clang/AMDGPU: Use subarch triples in more cc1 tests (#225391)
DeltaFile
+3-3clang/test/OpenMP/amdgcn_save_temps.c
+3-3clang/test/CodeGenOpenCL/spir_version.cl
+2-2clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
+11-144 files not shown
+15-1810 files

LLVM/project ee7f51amlir/lib/Target/LLVMIR DebugTranslation.cpp, mlir/test/Target/LLVMIR llvmir-debug.mlir

Fix recursive DI variant part (#225373)

`mlir::translateModuleToLLVMIR` could leave recursive `DICompositeType`
metadata unresolved when the composite used `DW_TAG_variant_part`.

`DW_TAG_variant_part` was not emitted as a distinct `DICompositeType`,
unlike other recursive composite type tags. This change adds it to the
distinct path and adds a regression test covering the recursive
variant-part case.

Testing:

* `mlir/test/Target/LLVMIR/llvmir-debug.mlir`
* `ninja -C build check-mlir`

Fixes: #225151

Co-authored-by: Purnima Shrivastava <purnimashrivastava05@.com>
DeltaFile
+22-0mlir/test/Target/LLVMIR/llvmir-debug.mlir
+1-0mlir/lib/Target/LLVMIR/DebugTranslation.cpp
+23-02 files

LLVM/project 2d7dff0llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

DAG: Preserve poison in some cast folds
DeltaFile
+24-14llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+24-141 files

LLVM/project db9bb88llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp

Update again
DeltaFile
+1-2llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+1-21 files

LLVM/project 355b371libsycl/unittests/usm alloc.cpp, offload/liboffload/src OffloadImpl.cpp

[offload] add context to olMemAlloc* (#224930)

This is the last part of the context refactor. This patch:
  - Adds context param to all memory allocation functions.
  - Routes ptr info through the plugins instead of a global map.
  - Removes allocation tracking from liboffload.
- olGetMemInfo(OL_MEM_INFO_DEVICE) now returns INVALID_ARGUMENT for host
   allocations, which have no per-device affinity.
   
Re-land of #222677 + #224622, which were reverted together in #224703.

Assisted-by: Claude Opus 4.7
DeltaFile
+118-151offload/liboffload/src/OffloadImpl.cpp
+138-68offload/plugins-nextgen/common/src/PluginInterface.cpp
+55-50libsycl/unittests/usm/alloc.cpp
+80-25offload/plugins-nextgen/common/include/PluginInterface.h
+100-2offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
+39-35offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+530-33137 files not shown
+1,147-58343 files

LLVM/project db17738clang-tools-extra/clang-tidy/misc MultipleInheritanceCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix infinite loop in misc-multiple-inheritance (#220223)

This PR contains the fix for the infinite loop in
`misc-multiple-inheritance`. The checker was getting stuck in an
infinite cycle when it encountered circular inheritance. I fixed this by
adding a visited map (`InterfaceMap.try_emplace(Node, false)`) to break
the cycle during the DFS traversal.

Part of #213948.
DeltaFile
+4-4clang-tools-extra/clang-tidy/misc/MultipleInheritanceCheck.cpp
+6-0clang-tools-extra/test/clang-tidy/checkers/misc/multiple-inheritance.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.md
+14-43 files

LLVM/project 58dd2belldb/tools/lldb-dap Variables.cpp JSONUtils.cpp, lldb/tools/lldb-dap/Handler SetVariableRequestHandler.cpp

[lldb-dap][NFC] Simplify using var_ref_t directly. (#225187)

Make var_ref_t printable, update functions that requires var_ref_t to
use var_ref_t instead of integers.
DeltaFile
+15-3lldb/tools/lldb-dap/Protocol/DAPTypes.h
+0-8lldb/tools/lldb-dap/JSONUtils.cpp
+6-2lldb/tools/lldb-dap/JSONUtils.h
+3-4lldb/tools/lldb-dap/Variables.cpp
+2-4lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
+2-3lldb/unittests/DAP/DAPTypesTest.cpp
+28-246 files not shown
+35-3412 files

LLVM/project 2dbb7d6mlir/lib/Conversion/ArithToSPIRV ArithToSPIRV.cpp, mlir/test/Conversion/ArithToSPIRV arith-to-spirv.mlir

[mlir][SPIR-V] Lower arith.convertf operation (#212817)

Lower arith.convertf (same-bitwidth casts like f16<->bf16) to
spirv.FConvert
DeltaFile
+37-0mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
+1-0mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
+38-02 files

LLVM/project 5d8e28aorc-rt/include/orc-rt/bedrock SocketConnector.h ConnectorRegistry.h, orc-rt/lib/bedrock CMakeLists.txt ConnectorRegistry.cpp

[orc-rt] Add ConnectorRegistry and the socket:adopt connector (#225398)

Maps the transport named by a ConnectionSpec to the connector that
establishes it. Connectors are registered manually, so they are only
available -- and for static archive builds, only linked -- if explicitly
requested.

Clients can connect a Session to a controller by passing a
ConnectionSpec for a registered transport (provided that the
ConnectionSpec is well-formed as defined by that transport).

This commit introduces a "socket:adopt" connector, which takes a stream
socket that this process already holds and attaches a
SocketSimpleRemoteCA for it.
DeltaFile
+71-0orc-rt/include/orc-rt/bedrock/ConnectorRegistry.h
+68-0orc-rt/lib/bedrock/sys/posix/SocketConnector.cpp
+59-0orc-rt/lib/bedrock/ConnectorRegistry.cpp
+26-0orc-rt/include/orc-rt/bedrock/SocketConnector.h
+2-0orc-rt/lib/bedrock/CMakeLists.txt
+226-05 files

LLVM/project 5567601llvm/test/MC/AArch64 retired-feature-names.s retired-register-names.s

[AArch64] Prevent reuse of retired architecture names (#221782)

Add negative tests preventing reuse of retired feature and system register names.

When system registers or feature names are retired, they should be appended to
this file, to ensure they're never re-used in future. `FEAT_MPAMv2` and `FEAT_TME`
are the two features which have been intentionally retired so far.
DeltaFile
+18-0llvm/test/MC/AArch64/retired-register-names.s
+9-0llvm/test/MC/AArch64/retired-feature-names.s
+27-02 files

LLVM/project 86a9a1bmlir/include/mlir/Dialect/SPIRV/IR SPIRVCastOps.td, mlir/lib/Dialect/SPIRV/IR CastOps.cpp

[mlir][SPIR-V] Let FConvert cast between same width types (#225349)

The spec requires the component type to differ, not the width, so casts
like f16 to bf16 are legal

Prerequisite for https://github.com/llvm/llvm-project/pull/212817
DeltaFile
+38-10mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
+9-1mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
+6-1mlir/test/Target/SPIRV/cast-ops.mlir
+2-2mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
+55-144 files

LLVM/project a9fe7a5llvm/lib/CodeGen ModuloSchedule.cpp InterleavedLoadCombinePass.cpp

[CodeGen] Prevent potential multiplication overflow (#224665)

This fixes a number of issues reported by a CodeQL scan in the `CodeGen`
directory.
DeltaFile
+4-4llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
+1-1llvm/lib/CodeGen/ModuloSchedule.cpp
+5-52 files

LLVM/project daf48ddorc-rt/include/orc-rt/bedrock/sps SimpleRemoteCAOverSocket.h, orc-rt/lib/bedrock CMakeLists.txt

[orc-rt] Add a SimpleRemote transport over POSIX sockets (#225393)

A ControllerAccess speaking SimpleRemote over a connected stream socket.
The wire format matches LLVM's SimpleRemoteEPC. POSIX only -- Windows
needs a counterpart alongside the other sys/posix sources.

It owns a reactor thread built on poll(2) over the connection and a wake
socket. IO is non-blocking, so reads and writes resume wherever a
partial transfer stopped. The reactor is the only thread that sends;
callers on other threads append to a queue and wake it.

Reached through createSimpleRemoteCAOverSocket; the implementation is
file-local to the POSIX translation unit, so a Windows version needs no
header change.

The unit test drives it over a real socket pair, playing the controller
on the far end: framing, partial transfers, teardown ordering and the
malformed-message paths. The fixture owns the pair and the Session, so a
test body starts at the interesting part. It installs no on-disconnect

    [2 lines not shown]
DeltaFile
+651-0orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp
+547-0orc-rt/lib/bedrock/sys/posix/sps/SimpleRemoteCAOverSocket.cpp
+41-0orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCAOverSocket.h
+1-0orc-rt/test/unit/CMakeLists.txt
+1-0orc-rt/lib/bedrock/CMakeLists.txt
+1,241-05 files

LLVM/project 93e1bedclang/lib/CodeGen CGStmtOpenMP.cpp, clang/lib/Sema SemaOpenMP.cpp

[OpenMP] Support capturing structured bindings in OpenMP regions. (#190832)

This patch adds support for capturing structured bindings (C++20) in
`OpenMP` parallel regions, which previously resulted in an error:

  `error: capturing a structured binding is not yet supported in OpenMP`
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+705-76clang/lib/Sema/SemaOpenMP.cpp
+565-0clang/test/OpenMP/structured-bindings-messages.cpp
+511-0clang/test/OpenMP/structured-bindings-template-instantiation.cpp
+321-91clang/lib/CodeGen/CGStmtOpenMP.cpp
+336-0clang/test/OpenMP/structured-bindings-target-map-different-types.cpp
+6,810-16719 files not shown
+7,513-24125 files

LLVM/project 48d091fllvm/test/CodeGen/PISA asm-printer-special-globals.ll

Add asm-printer-special-globals.ll to test isIgnoredIntrinsicGlobal
DeltaFile
+48-0llvm/test/CodeGen/PISA/asm-printer-special-globals.ll
+48-01 files

LLVM/project 16121fdllvm/lib/Target/PISA PISAAsmPrinter.cpp

Document why AsmPrinter::emitGlobalConstant is not used
DeltaFile
+4-0llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+4-01 files

LLVM/project 98b4cf2llvm/test/CodeGen/PISA asm-printer-unsupported-vector-hint-fp128.ll

Add asm-printer-unsupported-vector-hint-fp128.ll test
DeltaFile
+11-0llvm/test/CodeGen/PISA/asm-printer-unsupported-vector-hint-fp128.ll
+11-01 files

LLVM/project b0f0f10llvm/lib/Target/PISA PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA asm-printer-annotation-globals.ll

Remove the user scan and add a test
DeltaFile
+19-0llvm/test/CodeGen/PISA/asm-printer-annotation-globals.ll
+0-18llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+19-182 files

LLVM/project 08ea315llvm/lib/Target/PISA CMakeLists.txt PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA unreachable.ll return.ll

Add PISA AsmPrinter

Add PISAAsmPrinter to complete the codegen pipeline with end-to-end code
emission.
DeltaFile
+933-0llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+352-0llvm/test/CodeGen/PISA/store.ll
+350-0llvm/test/CodeGen/PISA/load.ll
+37-0llvm/test/CodeGen/PISA/return.ll
+14-0llvm/test/CodeGen/PISA/unreachable.ll
+1-0llvm/lib/Target/PISA/CMakeLists.txt
+1,687-06 files

LLVM/project 599ca7allvm/lib/Target/PISA PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA asm-printer-unusual-vector-global.ll

Add a test for reportFatalUsageError
DeltaFile
+8-0llvm/test/CodeGen/PISA/asm-printer-unusual-vector-global.ll
+2-3llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+10-32 files

LLVM/project c411a91llvm/test/CodeGen/PISA load.ll

Remove -verify-machineinstr
DeltaFile
+2-3llvm/test/CodeGen/PISA/load.ll
+2-31 files

LLVM/project ac15b4fllvm/lib/Target/PISA PISAAsmPrinter.cpp

Formatting fix
DeltaFile
+2-1llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+2-11 files

LLVM/project 283c120llvm/lib/Target/PISA PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA asm-printer-fp-inline-asm.mir

Fix printing FP immediates
DeltaFile
+23-0llvm/test/CodeGen/PISA/asm-printer-fp-inline-asm.mir
+9-2llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+32-22 files

LLVM/project e5bd4cdllvm/lib/Target/PISA PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA unreachable.ll store.ll

Fix issues raised in earlier PRs
DeltaFile
+111-93llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+11-0llvm/test/CodeGen/PISA/asm-printer-unsupported-vector-hint.ll
+3-3llvm/test/CodeGen/PISA/load.ll
+2-2llvm/test/CodeGen/PISA/unreachable.ll
+2-2llvm/test/CodeGen/PISA/store.ll
+2-2llvm/test/CodeGen/PISA/return.ll
+131-1026 files

LLVM/project e5e6349llvm/lib/Target/PISA PISAAsmPrinter.cpp

Inline comparison into the assertion
DeltaFile
+3-3llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+3-31 files

LLVM/project 565f3f7llvm/include/llvm/BinaryFormat Dwarf.h, llvm/test/DebugInfo/X86 unknown-source-language.ll

[Dwarf] Don't crash in dwarf::isC() on vendor-defined languages (#223739)

isC() enumerates SourceLanguage and falls off the end of the switch into
llvm_unreachable("Unknown language kind."). DW_LANG_lo_user and
DW_LANG_hi_user are both explicit cases, but every vendor-defined code
strictly between them is not, so any of them aborts an asserts-enabled
build.

Assisted-by: LLM

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+46-0llvm/test/DebugInfo/X86/unknown-source-language.ll
+2-1llvm/include/llvm/BinaryFormat/Dwarf.h
+48-12 files

LLVM/project faba3bdclang/test/CodeGen/AMDGPU amdgcn-av-none-attr.cpp amdgcn-av-none-amdgpu-atomic.cpp, clang/test/CodeGenOpenCL amdgpu-debug-info-pointer-address-space.cl spir_version.cl

clang/AMDGPU: Use subarch triples in more cc1 tests
DeltaFile
+3-3clang/test/OpenMP/amdgcn_save_temps.c
+3-3clang/test/CodeGenOpenCL/spir_version.cl
+2-2clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
+1-2clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
+11-144 files not shown
+15-1810 files