LLVM/project 5ef751f — llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Stop returning an attribute when getting libcall types

The attribute half of the pair has been empty since the extension
attributes moved to getIntExtAttr, so return just the type.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+40-47llvm/lib/IR/RuntimeLibcalls.cpp
+40-471 files

LLVM/project 476f7da — mlir/include/mlir/Analysis/Presburger IntegerRelation.h, mlir/lib/Analysis/Presburger IntegerRelation.cpp

[mlir][Presburger] Add IntegerRelation::reduceUsingEqualities helper

Add a protected helper that rewrites all constraints of a relation using
the equalities of another relation in the same space, without changing
the intersection of the two. This is a port of ISL's
isl_basic_set_reduce_using_equalities together with
project_onto_involved: the equalities are first projected onto the
variables that occur in the relation being reduced, so that no new
variables (in particular, no locals of the other relation) are
introduced, and each remaining equality is then used to eliminate its
last variable with a non-zero coefficient from every constraint, so that
later variables (locals) are eliminated in favor of earlier ones.

This is a building block for context-based simplification (gist) and is
exercised by the gist tests added in a follow-up commit, since there is
no existing pattern for unit-testing protected members of
IntegerRelation.
DeltaFile
+120-4mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+30-0mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
+150-42 files

LLVM/project 44f8929 — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

Merge branch 'main' into users/void/interp-strip-mangling-escape
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,3764,197 files not shown
+94,698-37,0214,203 files

LLVM/project 7b3d5ef — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

Merge branch 'main' into users/void/libclang-dependent-cursor-referenced
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,3764,197 files not shown
+94,698-37,0214,203 files

LLVM/project 9a44d80 — lld/MachO SyntheticSections.cpp

Drop a redundant mask and reword the inline-addend comment

Assigning to the 19-bit bitfield already truncates, and the comment had
lost a verb. Say which linker we match and that the field is two's
complement.

Assisted-by: Claude Code
DeltaFile
+5-4lld/MachO/SyntheticSections.cpp
+5-41 files

LLVM/project ac2333f — mlir/include/mlir/Analysis/Presburger IntegerRelation.h, mlir/lib/Analysis/Presburger IntegerRelation.cpp

[mlir][Presburger] NFC: factor out removeRedundantConstraintsFromSimplex (#235955)

Split the compaction loops of
IntegerRelation::removeRedundantConstraints
into a new protected helper, removeRedundantConstraintsFromSimplex,
which
removes the constraints of the relation that are marked redundant in a
given Simplex, where the relation's constraints start at a given offset
in the Simplex (inequalities first, then each equality as a pair).

This allows reusing the same compaction logic when the relation's
constraints have been added to a Simplex that already contains other
constraints, e.g., for context-based simplification (gist), where the
context's constraints come first and are never marked redundant.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a

    [4 lines not shown]
DeltaFile
+12-4mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+13-0mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
+25-42 files

LLVM/project cbb28a1 — clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Flang.cpp

[flang][AIX] Enable -b flag (#235101)

This patch is to enable -b flag in flang for AIX only. The '-b <arg>'
option is passed to the linker.
DeltaFile
+16-0flang/test/Driver/linker-options.f90
+7-0clang/lib/Driver/ToolChains/Flang.cpp
+2-0flang/docs/ReleaseNotes.md
+1-0clang/include/clang/Options/Options.td
+26-04 files

LLVM/project 864850e — llvm/test/CodeGen/AArch64 misched-sort-resource-in-trace.mir, llvm/test/CodeGen/AMDGPU lower-term-opcodes.mir llvm.amdgcn.cvt.fp8.dpp.mir

CodeGen: Remove -verify-machineinstrs from llc -passes MIR tests (#238157)

With the new pass manager, -verify-machineinstrs does not add a
verifier after each pass; only -verify-each does. Bizarrely, instead
it suppresses the verifier llc runs at the end of the pipeline, so
removing it enables verification of the output. This is probably a
bug, but I think the plan is to replace this flag in the new PM
anyway.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-3llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
+2-2llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
+2-2llvm/test/CodeGen/RISCV/prefer-w-inst.mir
+2-2llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
+2-2llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
+13-1368 files not shown
+81-8574 files

LLVM/project 042b84a — llvm/lib/ExecutionEngine/Orc SelfExecutorProcessControl.cpp, llvm/test/ExecutionEngine/Orc in-process-global-prefix-check.ll

[ORC] Ignore non-prefixed strings in InProcessDylibManager. (#238143)

InProcessDylibManager::lookupSymbolsAsync was unconditionally dropping
the first character from symbol names whenever a global prefix was set,
without checking that the first character matched the prefix. E.g. on
Darwin, where the global prefix is '_', a lookup of `printf` should
generate a SymbolsNotFound error (the C function is `_printf`), but
instead it generated a lookup of `rintf`, which binds against a rounding
function from math.h.

This patch fixes the issue by checking that the first character in the
symbol name matches the prefix, returning std::nullopt if it does not.

See discussion at:
https://github.com/llvm/llvm-project/issues/5852#issuecomment-6362518329
DeltaFile
+14-6llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
+19-0llvm/test/ExecutionEngine/Orc/in-process-global-prefix-check.ll
+33-62 files

LLVM/project fc16f15 — libc/include threads.yaml pthread.yaml, libc/include/sys sem.yaml

[libc] Add POSIX-mandated transitive header inclusion to three headers. (#237436)

Per POSIX standard:
* `<sys/sem.h>` shall include the `<sys/ipc.h>` header
* Inclusion of the `<threads.h>` header shall make
  symbols defined in the header `<time.h>` visible.
* Inclusion of the `<pthread.h>` header shall make symbols
  defined in the headers `<sched.h>` and `<time.h>` visible.

There are real-world programs which correctly rely on this
behavior.

Implement all of the above using `public_includes` feature in YAML
config
to add transitive inclusions to generated headers. Technically speaking,
we can "make symbols visible" using other mechanisms, but simple
transitive inclusion is by far the easiest one.
DeltaFile
+2-1libc/include/threads.yaml
+3-0libc/include/pthread.yaml
+2-0libc/include/sys/sem.yaml
+7-13 files

LLVM/project 6f12fdd — llvm/lib/CodeGen MachineOutliner.cpp, llvm/test/CodeGen/AArch64 machine-outliner-mapper-debug-output.mir setjmp-bti-outliner.ll

[MachineOutliner] Skip returns_twice functions (#237875)

fixes: #237874

If a function returns twice, or calls a function that can return twice,
skip it. The context saved by functions such as `setjmp` will be
different if they take place within an outlined function. Ex: Saved
stack pointer will be different.

Was able to trigger a crash by outlining a call to a returns_twice
function.
DeltaFile
+39-26llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
+38-0llvm/test/CodeGen/AArch64/machine-outliner-mapper-debug-output.mir
+11-12llvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
+17-0llvm/lib/CodeGen/MachineOutliner.cpp
+105-384 files

LLVM/project f21973f — llvm/lib/Target/DirectX DXContainerPDB.cpp DirectXPassRegistry.def, llvm/lib/Target/DirectX/DXILWriter DXILWriterPass.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+144-125llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+144-8llvm/lib/Target/DirectX/DirectX.h
+30-17llvm/lib/Target/DirectX/DirectXPassRegistry.def
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+670-41866 files not shown
+862-99572 files

LLVM/project b455178 — llvm/lib/Target/DirectX DXILTranslateMetadata.h DXContainerPDB.cpp, llvm/lib/Target/DirectX/DXILWriter DXILWriterPass.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+144-125llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+144-8llvm/lib/Target/DirectX/DirectX.h
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+0-43llvm/lib/Target/DirectX/DXILTranslateMetadata.h
+640-44464 files not shown
+782-99570 files

LLVM/project 1cf4877 — clang/include/clang/Basic HLSLIntrinsics.td, clang/test/CodeGenHLSL/builtins WaveMultiPrefixBitOr.hlsl

first attempt

Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
Copilot-Session: 40997c2f-5aaa-41c6-8d1f-3e2e9ada315f
DeltaFile
+98-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveMultiPrefixBitOr.ll
+93-0clang/test/CodeGenHLSL/builtins/WaveMultiPrefixBitOr.hlsl
+64-0clang/test/SemaHLSL/BuiltIns/WaveMultiPrefixBitOr-errors.hlsl
+48-0llvm/test/CodeGen/DirectX/WaveMultiPrefixBitOr.ll
+14-0llvm/test/CodeGen/DirectX/WaveMultiPrefixBitOr_errors.ll
+10-0clang/include/clang/Basic/HLSLIntrinsics.td
+327-011 files not shown
+377-017 files

LLVM/project 2d92704 — clang/test/Driver mingw-multilib.yaml linux-multilib.yaml, clang/test/Driver/Inputs/multilib_linux_tree/resource/include .keep

[clang][NFC] Test Linux/Windows Multilib Resource Dirs (#238147)

This is another follow-up to 78820cb91605693b7d768be4ebc8b66181d3e9c3 to
show the behaviour of resource dir resolution after that change.

Assisted-by: AI
DeltaFile
+13-0clang/test/Driver/linux-multilib.yaml
+11-0clang/test/Driver/mingw-multilib.yaml
+1-0clang/test/Driver/Inputs/multilib_linux_tree/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
+1-0clang/test/Driver/Inputs/multilib_mingw_tree/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
+1-0clang/test/Driver/Inputs/multilib_mingw_tree/resource/include/.keep
+1-0clang/test/Driver/Inputs/multilib_linux_tree/resource/include/.keep
+28-06 files

LLVM/project fea517e — llvm/lib/Target/DirectX DirectXPassRegistry.def DXILTranslateMetadata.h

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+143-7llvm/lib/Target/DirectX/DirectX.h
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+0-43llvm/lib/Target/DirectX/DXILTranslateMetadata.h
+21-17llvm/lib/Target/DirectX/DirectXPassRegistry.def
+516-33545 files not shown
+624-85651 files

LLVM/project 8cbd3d8 — llvm/lib/Target/DirectX DXILTranslateMetadata.h DXContainerPDB.cpp, llvm/lib/Target/DirectX/DXILWriter DXILWriterPass.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+144-125llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+144-8llvm/lib/Target/DirectX/DirectX.h
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+0-43llvm/lib/Target/DirectX/DXILTranslateMetadata.h
+640-44464 files not shown
+782-99570 files

LLVM/project ebe66f5 — llvm/lib/Target/DirectX DXILFinalizeLinkage.h DXILTranslateMetadata.h

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+142-6llvm/lib/Target/DirectX/DirectX.h
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+0-43llvm/lib/Target/DirectX/DXILTranslateMetadata.h
+0-38llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
+494-35541 files not shown
+591-83947 files

LLVM/project 02f8ca4 — llvm/lib/Target/DirectX DXILFinalizeLinkage.h DXILTranslateMetadata.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+138-99llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+143-7llvm/lib/Target/DirectX/DirectX.h
+33-12llvm/lib/Target/DirectX/DXContainerPDB.cpp
+0-43llvm/lib/Target/DirectX/DXILTranslateMetadata.h
+0-38llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
+495-35645 files not shown
+624-85651 files

LLVM/project c7c4fd7 — llvm/test/CodeGen/PowerPC sink-down-more-instructions-1.mir, llvm/test/CodeGen/RISCV/rvv vmv.v.v-peephole.mir rvv-peephole-vmerge-to-vmv.mir

Join short wrapped RUN lines

Removing -verify-machineinstrs shortened these RUN lines enough to fit
on a single line of at most 100 columns.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+1-2llvm/test/CodeGen/SystemZ/machinesink-dead-cc.mir
+1-2llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
+1-2llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
+1-2llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir
+4-84 files

LLVM/project 45cb2f5 — llvm/test/CodeGen/RISCV/rvv vmv.v.v-peephole.mir rvv-peephole-vmerge-to-vmv.mir, llvm/test/CodeGen/SystemZ machinesink-dead-cc.mir

Restore indentation of wrapped RUN line continuations

Removing -verify-machineinstrs from the start of a continuation line
also dropped its indentation.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+1-1llvm/test/CodeGen/SystemZ/machinesink-dead-cc.mir
+1-1llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
+1-1llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
+3-33 files

LLVM/project 5c51732 — llvm/test/CodeGen/AArch64 misched-sort-resource-in-trace.mir, llvm/test/CodeGen/AMDGPU lower-term-opcodes.mir llvm.amdgcn.cvt.fp8.dpp.mir

CodeGen: Remove -verify-machineinstrs from llc -passes MIR tests

With the new pass manager, -verify-machineinstrs does not add a
verifier after each pass; only -verify-each does. Bizarrely, instead
it suppresses the verifier llc runs at the end of the pipeline, so
removing it enables verification of the output. This is probably a
bug, but I think the plan is to replace this flag in the new PM
anyway.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-3llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
+2-2llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
+2-2llvm/test/CodeGen/RISCV/prefer-w-inst.mir
+2-2llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
+2-2llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
+13-1368 files not shown
+81-8174 files

LLVM/project 2d7136e — llvm/test/CodeGen/AMDGPU neighboring-mfma-padding.mir, llvm/test/CodeGen/X86 expand-false-deps.mir compress-false-deps.mir

CodeGen: Remove -verify-machineinstrs from single -run-pass MIR tests (#238144)

Since #228248 / 66366908, llc verifies MIR output by default. MIR
inputs were always verified so for an llc invocation running exactly
one pass with -run-pass, the -verify-machineinstrs flag does nothing
so these flags are pointless. We should more aggressively trim
-verify-machineinstrs uses in the future, but this covers the cases
that don't change behavior. This removal was performed by generated
script.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+17-17llvm/test/CodeGen/X86/bls-false-deps.mir
+16-16llvm/test/CodeGen/X86/bitcnt-false-deps.mir
+13-13llvm/test/CodeGen/X86/expand-false-deps.mir
+13-13llvm/test/CodeGen/X86/compress-false-deps.mir
+11-11llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
+8-8llvm/test/MachineVerifier/AMDGPU/writelane_m0.mir
+78-782,168 files not shown
+3,268-3,3662,174 files

LLVM/project a7f2d9d — llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine select_frexp.ll

[InstCombine] Preserve select weights when sinking frexp through a select (#237367)

foldFrexpOfSelect rebuilds the operation using the original condition
and a constant mantissa value. Copy the original select's branch weights
to the replacement to preserve profiling information.
DeltaFile
+21-0llvm/test/Transforms/InstCombine/select_frexp.ll
+2-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+23-12 files

LLVM/project 21998b7 — llvm/include/llvm/IR RuntimeLibcalls.h, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Handle int and long size more similarly

Previously we eagerly computed the int size and passed it through all
the various functions to get the type signature. The long cases were
evaluated in the context that need a long. Treat these the same way
which reduces the number of arguments passed around.
DeltaFile
+13-10llvm/lib/IR/RuntimeLibcalls.cpp
+1-1llvm/include/llvm/IR/RuntimeLibcalls.h
+14-112 files

LLVM/project d04c5be — llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp SPIRVPreLegalizer.cpp, llvm/test/CodeGen/SPIRV first-mbb.ll

[SPIRV] Ensure `MachineIRBuilder` is always in a valid state (#236948)

If `MachineIRBuilder` hasn't yet done any work it doesn't have a valid
insertion point. We were erroneously assuming that this is not the case,
and thus were directly calling `getMBB()` when it was not legal to do
so. This patch makes it so that we only query the old MBB if we get a
valid insertion point.
DeltaFile
+16-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/first-mbb.ll
+15-0llvm/test/CodeGen/SPIRV/first-mbb.ll
+1-2llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+1-0llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+33-24 files

LLVM/project 0be29df — llvm/lib/Transforms/IPO FunctionImport.cpp MemProfContextDisambiguation.cpp, llvm/test/ThinLTO/X86 memprof-imported-alias-tailcall.ll

[MemProf] Resolve alias ValueInfo in ThinLTO backend summary lookup (#238162)

Synthesized MemProf callsite records for missing tail-call frames are
keyed by the callee's summary entry, which for an alias target is its
AliasSummary rather than its aliasee's FunctionSummary.

In the ThinLTO backend, two paths looked up the aliasee instead, missing
those records and leaving callers uncloned with undefined .memprof.*
references at link time:

1. Alias definitions imported via replaceAliasWithAliasee retain the
   aliasee's !guid metadata for body-level profile passes, so querying
   F.getGUID() matched the aliasee's ValueInfo and could also resolve
   the imported alias copy itself to an imported aliasee's
   FunctionSummary instead of skipping it.
2. Direct tail calls to a same-module GlobalAlias resolved the callee to
   its aliasee Function before looking up its ValueInfo.

Attach thinlto_alias_guid metadata when importing alias definitions,

    [4 lines not shown]
DeltaFile
+488-0llvm/test/ThinLTO/X86/memprof-imported-alias-tailcall.ll
+42-34llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
+12-8llvm/lib/Transforms/IPO/FunctionImport.cpp
+542-423 files

LLVM/project 9286e9b — lldb/source/Plugins/Process/gdb-remote GDBRemoteCommunicationServer.cpp GDBRemoteCommunicationServerLLGS.cpp, lldb/unittests/Process/gdb-remote GDBRemoteCommunicationTest.cpp

[lldb] Name GDB-remote communication channels (#237417)

Give every GDB-remote communication channel a stable name and include
that name in packet logs. This makes simultaneous native and accelerator
connections distinguishable without relying on object addresses.

The existing client broadcaster name is reused for its communication
channel. LLGS instances now identify native and mock-accelerator servers
separately, and lldb-platform has its own server label.

A focused unit test verifies that send and receive packet logs carry the
correct channel identity.

Testing:
- Built lldb-server and ProcessGdbRemoteTests with the mock accelerator
enabled
- All 52 ProcessGdbRemoteTests pass
- LLVM pinned clang-format check passes
- git diff --check passes
DeltaFile
+22-17lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+29-1lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationTest.cpp
+7-1lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
+3-2lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+3-2lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+2-2lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
+66-258 files not shown
+77-3414 files

LLVM/project 9e46203 — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-simd-32.ll

[RISCV] Build register pairs directly for byte vector lowering

Use BuildPairGPRVec when lowering RV32 packed byte build vectors.
The PPAIRE sequence only needs the low byte of each scalar register.
Constructing pairs through scalar-to-vector concatenations lets DAG
folding turn them into build vectors that unnecessarily pack undefined
lanes.
DeltaFile
+45-117llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+9-13llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+54-1302 files

LLVM/project 1d2e367 — llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp SelectionDAG.cpp

[SelectionDAG] Preserve build-vector legality in concat folding

Custom lowering can construct CONCAT_VECTORS after BUILD_VECTOR
legalization. Folding scalar-to-vector operands there may introduce a
BUILD_VECTOR that the target cannot select.

Require a legal BUILD_VECTOR by default in FoldConcatVectors, and pass
the combine phase from DAGCombiner so pre-legalization combines can still
form illegal operations.
DeltaFile
+5-2llvm/include/llvm/CodeGen/SelectionDAG.h
+6-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+12-43 files