LLVM/project 36ab334 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/CodeGen/RISCV atomic-cmpxchg.ll atomic-signext.ll

AtomicExpand: Use RuntimeLibcallsInfo signatures for atomic libcalls (#238972)

Take the function type and attributes of the emitted __atomic_* calls
from RuntimeLibcallsInfo instead of building them by hand.

This fixes missing extension attributes on the value operand and
result of the sized variants, which are unsigned integers of the
access size. On targets whose C ABI extends narrow integer arguments,
such as RISC-V and ARM, the callee could see unextended high bits. i8
and i16 values now get zeroext, and i32 values get signext on
RV64. Callers can also rely on the extended return value, which
removes redundant extensions after some calls.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+705-360llvm/test/CodeGen/RISCV/atomic-rmw.ll
+460-360llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+166-104llvm/test/CodeGen/RISCV/atomic-signext.ll
+105-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-and-or-xor.ll
+19-56llvm/lib/CodeGen/AtomicExpandPass.cpp
+70-0llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
+1,525-88014 files not shown
+1,777-96120 files

LLVM/project 3b35c40 — llvm/lib/Target/ARM MVETPAndVPTOptimisationsPass.cpp

ARM: Remove dead kill flag maintenance in MVETPAndVPTOptimisations

This pass runs before register allocation, and the verifier now
rejects kill flags on virtual registers.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-45llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
+2-451 files

LLVM/project b03f03c — llvm/lib/Target/AArch64 AArch64PostCoalescerPass.cpp

AArch64: Remove dead kill flag maintenance in AArch64PostCoalescer

The sources of the transposed tuple pseudos are virtual registers,
which can no longer carry kill flags.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-12llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
+0-121 files

LLVM/project e04c4cc — llvm/lib/CodeGen EarlyIfConversion.cpp

EarlyIfConversion: Remove dead kill flag maintenance

The verifier now rejects kill flags on virtual registers, so there are
never repeated kills of a virtual register in the two sides of a
diamond to clear.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-38llvm/lib/CodeGen/EarlyIfConversion.cpp
+0-381 files

LLVM/project 55f4d89 — llvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ll

[AMDGPU] Do not emit s_wait_bvhcnt on targets without BVH instructions (#238971)

GFX13 has image instructions but no BVH instructions or s_wait_bvhcnt
DeltaFile
+0-248llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+0-105llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
+0-53llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
+0-40llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
+0-36llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+0-36llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+0-51830 files not shown
+30-77636 files

LLVM/project 0e50208 — llvm/lib/CodeGen MachineVerifier.cpp, llvm/test/MachineVerifier/AMDGPU register-killed-inside-loop.mir verify-kill-flag-virtual-register.mir

MachineVerifier: Disallow kill flags on virtual registers

Kill flags are deprecated, and nothing introduces them on virtual
registers anymore. Reject them in the verifier to prevent new uses
from creeping back in. Kill flags on physical registers are still
permitted. There are still some lingering post-RA kill flag reliance.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-12llvm/unittests/MIR/MachineMetadata.cpp
+21-0llvm/test/MachineVerifier/AMDGPU/verify-kill-flag-virtual-register.mir
+3-5llvm/test/MachineVerifier/AMDGPU/register-killed-inside-loop.mir
+3-3llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir.filter.expected
+3-3llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir
+3-0llvm/lib/CodeGen/MachineVerifier.cpp
+44-236 files

LLVM/project 1f224ad — llvm/lib/CodeGen LiveRangeCalc.cpp LiveInterval.cpp, llvm/test/CodeGen/AMDGPU liveintervals-unreachable-blocks-subranges.mir

Only join phi-def-only classes in unreachable blocks

Use the dominator tree for reachability in LiveRangeCalc
DeltaFile
+73-0llvm/unittests/MI/LiveIntervalTest.cpp
+60-1llvm/test/CodeGen/PowerPC/tls-dynamic-call-unreachable-block.ll
+27-15llvm/lib/CodeGen/LiveInterval.cpp
+0-24llvm/test/CodeGen/PowerPC/tls-dynamic-call-unreachable-block-optnone.ll
+3-4llvm/lib/CodeGen/LiveRangeCalc.cpp
+2-3llvm/test/CodeGen/AMDGPU/liveintervals-unreachable-blocks-subranges.mir
+165-472 files not shown
+170-518 files

LLVM/project 1ff387e — llvm/lib/CodeGen LiveRangeCalc.cpp LiveInterval.cpp, llvm/test/CodeGen/AMDGPU liveintervals-unreachable-blocks-subranges.mir

CodeGen: Handle uses in unreachable blocks in LiveIntervals

Previously LiveIntervals had the unenforced assumption that the
function does not contain any unreachable blocks. A register which had
a definition somewhere but also a use in an unreachable block would
hit a "Use not jointly dominated by defs" assertion.

Avoiding no-unreachable-blocks as a hard requirement avoids assertions
in some pass configuration edge cases. In particular when the
MachinePipeliner is enabled in an optimized pipeline there could still
be unreachable blocks in an optnone function which would hit the
assert. Not handling unreachable blocks was also a large problem for
llvm-reduce's MIR support and was one of the main obstacles to landing
a basic block reduction.

Give a value live into an unreachable block a phi-def at the start of
the block, using the dominator tree to identify unreachable blocks.
ConnectedVNInfoEqClasses::Classify joins a component made only of
phi-defs in unreachable blocks with a component that has a real def;

    [6 lines not shown]
DeltaFile
+244-0llvm/test/CodeGen/X86/liveintervals-unreachable-blocks.mir
+101-0llvm/test/CodeGen/AMDGPU/liveintervals-unreachable-blocks-subranges.mir
+27-0llvm/lib/CodeGen/LiveInterval.cpp
+23-3llvm/lib/CodeGen/LiveRangeCalc.cpp
+395-34 files

LLVM/project 812626a — clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen cxx20-module-initializer-ms-abi.cppm cxx20-module-initializer.cppm

[CIR] Make LoweringPrepare safe to rerun on C++20 module units (#237395)

LoweringPrepare builds the initializer of a C++20 module interface unit
from the 'cir.cxx_module_init_fn_name' and 'cir.cxx_module_imported_inits'
 module attributes, but left them in place. Running the pass again on its
 own output, e.g. on an emitted .cir file, rebuilt the initializer and asserted
 with "function already has an entry block".

Drop both attributes once the initializer is built. This related to:
https://github.com/llvm/llvm-project/pull/234013
DeltaFile
+26-0clang/test/CIR/Transforms/lowering-prepare-module-init-rerun.cir
+10-7clang/test/CIR/CodeGen/module-import.cpp
+4-4clang/test/CIR/CodeGen/cxx20-module-initializer.cppm
+5-0clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+2-2clang/test/CIR/CodeGen/cxx20-module-initializer-ms-abi.cppm
+47-135 files

LLVM/project 9f768cd — llvm/lib/Target/RISCV RISCVRegisterInfo.cpp RISCVCallingConv.cpp, llvm/lib/Target/RISCV/MCTargetDesc RISCVTargetStreamer.h RISCVBaseInfo.cpp

[RISCV] Make the RISCVABI enum an enum class. NFC

Assisted-by: Claude
DeltaFile
+48-48llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+26-26llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
+15-15llvm/unittests/Target/RISCV/RISCVBaseInfoTest.cpp
+2-2llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+2-2llvm/lib/Target/RISCV/RISCVCallingConv.cpp
+2-2llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
+95-954 files not shown
+99-9910 files

LLVM/project f9c4aa6 — clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen global-temp-dtor.cpp global-tls-dyn-init.cpp

[CIR] Make LoweringPrepare safe to rerun on TLS globals (#237376)

LoweringPrepare builds the wrapper (`_ZTW*`) and init alias (`_ZTH*`) of
each thread-local global from its `tls_refs` attribute, but leaves the
attribute in place. Running the pass again on its own output, e.g. on an emitted
`.cir` file, rebuilds the wrappers and fails:
```
    error: redefinition of symbol named '_ZTW2tl'
```

This was partially discovered in this discussion: #234013 . The solution
is to drop the `tls_refs` attribute after the pass consumes it.
DeltaFile
+37-0clang/test/CIR/Transforms/lowering-prepare-tls-rerun.cir
+8-8clang/test/CIR/CodeGen/tls-model.cpp
+7-7clang/test/CIR/CodeGen/global-tls-simple-init.cpp
+4-4clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
+6-0clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+2-2clang/test/CIR/CodeGen/global-temp-dtor.cpp
+64-212 files not shown
+68-258 files

LLVM/project 67751e3 — clang/lib/CodeGen CGCall.cpp, clang/test/CodeGen call-graph-section-virtual-dtor.cpp

[clang][CodeGen] Emit callee_type metadata for all indirect calls

CodeGenFunction::EmitCall only attached the call graph section callee_type
metadata to an indirect call when its caller asked for the emitted call
instruction through the callOrInvoke out parameter, because the emission
was nested in the block that stores it. Indirect calls emitted by callers
that do not pass callOrInvoke, such as the virtual destructor call of a
delete expression (emitVirtualObjectDelete -> EmitCXXDestructorCall), got
no callee_type metadata and therefore no indirect callee type identifiers
in the .llvm.callgraph section, so the call graph missed those edges.

Attach the metadata to the emitted call instruction regardless of whether
the caller asked for it.

Stacked on #230831.

Assisted-by: Claude

DeltaFile
+67-69clang/lib/CodeGen/CGCall.cpp
+32-0clang/test/CodeGen/call-graph-section-virtual-dtor.cpp
+99-692 files

LLVM/project e100bf1 — clang/lib/CodeGen CGCall.cpp CodeGenModule.h, clang/test/CodeGen call-graph-section-covariant-return.cpp

[clang][CodeGen] Identify virtual methods by their override chain root in the call graph section

A virtual call site is typed after the method named at the call site, but it
can reach any overrider of that method, and overriders may differ from it in
their covariant return type. In that case the `!callee_type` identifier of a
call through a base class pointer did not match the `!callgraph` identifier
of the overrider, and the call graph section missed the edge.

Identify every method of an override chain, at definitions, call sites and
thunks, by the type of the method that introduced the virtual function, so
that virtual calls through a pointer to any class of the hierarchy match the
overriders they can reach.

Stacked on #230838.

Assisted-by: Claude
DeltaFile
+87-0clang/test/CodeGen/call-graph-section-covariant-return.cpp
+24-1clang/lib/CodeGen/CodeGenModule.cpp
+9-0clang/lib/CodeGen/CGVTables.cpp
+8-0clang/lib/CodeGen/CodeGenModule.h
+3-1clang/lib/CodeGen/CGCall.cpp
+131-25 files

LLVM/project d1ccff9 — clang/lib/CodeGen CodeGenModule.h CGVTables.cpp, clang/test/CodeGen call-graph-section-covariant-return.cpp

[clang][CodeGen] Use the primary base chain for virtual method IDs

Identify a virtual method in the call graph section after the method it
overrides along the primary base chain of its class, as given by the record
layout. That is the vtable entry the method is placed in, which is not always
the first method it overrides.

Assisted-by: Claude

DeltaFile
+157-24clang/test/CodeGen/call-graph-section-covariant-return.cpp
+50-18clang/lib/CodeGen/CodeGenModule.cpp
+6-6clang/lib/CodeGen/CGVTables.cpp
+5-4clang/lib/CodeGen/CodeGenModule.h
+218-524 files

LLVM/project 9cfb212 — flang/test/Integration fno-plt.f90

[NFC][tests] fno-plt.f90: allow target-related function attributes

Some targets apply function attributes by default, e.g., on AIX:
```
define void @test_(ptr noalias %0) #0 {
[...]
attributes #0 = { "target-features"="+aix,+64bit" }
```
DeltaFile
+5-5flang/test/Integration/fno-plt.f90
+5-51 files

LLVM/project c1498de — clang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGen call-graph-section-single-type-id.c

[clang][CodeGen] Attach a single callgraph type identifier to function definitions (#230838)

A function definition is annotated with its call graph section type identifier
twice, when its declaration is created (SetFunctionAttributes) and when its
body is emitted (SetLLVMFunctionAttributesForDefinition), so every
defined function carries two identical `!callgraph` attachments:

    define void @foo() #0 !callgraph !3 !callgraph !3 {

Replace the attachment instead of adding a second one, so that a
function carries exactly one identifier. The `.llvm.callgraph` section is
unaffected, the AsmPrinter only uses the first identifier of a function.

Assisted-by: Claude
DeltaFile
+18-0clang/test/CodeGen/call-graph-section-single-type-id.c
+6-3clang/lib/CodeGen/CodeGenModule.cpp
+24-32 files

LLVM/project 05ef211 — llvm/lib/CodeGen SafeStack.cpp, llvm/test/Transforms/SafeStack/ARM libcall-calling-conv.ll

SafeStack: Use RuntimeLibcallsInfo signatures for libcalls

Take the function type, attributes and calling convention of
__stack_chk_fail and __safestack_pointer_address from RuntimeLibcallsInfo
instead of constructing them by hand. These now use arm_aapcscc on AAPCS
targets.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+23-10llvm/lib/CodeGen/SafeStack.cpp
+18-0llvm/test/Transforms/SafeStack/ARM/libcall-calling-conv.ll
+41-102 files

LLVM/project 9353995 — llvm/test/Transforms/Attributor nofpclass-multiunitfptype.ll

[NFC] Update check lines for nofpclass-multiunitfptype.ll (#238989)

Runs `update_test_checks.py` for `nofpclass-multiunitfptype.ll` since I
forgot to re-run them in
https://github.com/llvm/llvm-project/pull/223296
DeltaFile
+6-6llvm/test/Transforms/Attributor/nofpclass-multiunitfptype.ll
+6-61 files

LLVM/project e49a777 — llvm/test/CodeGen/AMDGPU lower-i1-copies-clear-kills.mir coalescer-subranges-another-prune-error.mir, llvm/test/CodeGen/AMDGPU/NextUseAnalysis acyclic-770bb.mir

AMDGPU: Remove kill flags on virtual registers from MIR tests (#236977)

Soon the verifier will disallow this. Delete redundant tests which
only differed from others by kill flag uses. twoaddr-bundle.mir relied
on the input kill flags in TwoAddressInstruction, so compute
LiveIntervals first as the real pipeline does.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+847-847llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+773-773llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+201-201llvm/test/CodeGen/AMDGPU/optimize-compare.mir
+149-149llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir
+101-101llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
+0-157llvm/test/CodeGen/AMDGPU/lower-i1-copies-clear-kills.mir
+2,071-2,228182 files not shown
+4,281-4,669188 files

LLVM/project 76d1a05 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU llvm.set.rounding.ll

[SelectionDAG][AMDGPU] Fold get rounding after a constant set (#236388)
DeltaFile
+64-81llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
+16-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+80-812 files

LLVM/project b8bc8cd — llvm/lib/Target/RISCV/MCTargetDesc RISCVBaseInfo.h

[RISCV] Use a switch RISCVABI::isRVE. NFC
DeltaFile
+9-2llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+9-21 files

LLVM/project 379fb43 — llvm/lib/Target/RISCV/MCTargetDesc RISCVBaseInfo.h

fixup! Use switches
DeltaFile
+18-4llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+18-41 files

LLVM/project 9fc8061 — mlir/include/mlir/Dialect/OpenACC/Transforms Passes.td ACCSpecializePatterns.h, mlir/lib/Dialect/OpenACC/Transforms ACCSpecializeForDevice.cpp

[mlir][OpenACC] Unwrap multi-block regions in ACCRegionUnwrapConversion (#236289)

Follow-up to #236052, reworked based on @razvanlupusoru's review.

`ACCRegionUnwrapConversion` inlines the region of a structured construct
like `acc.host_data` or `acc.data` into the parent block when
specializing for host or device. It asserted that the region has exactly
one block, but these ops accept any region, so a multi-block body
crashed `acc-specialize-for-host` and `acc-specialize-for-device`.

A multi-block region is now wrapped in `scf.execute_region` with the
existing `wrapMultiBlockRegionWithSCFExecuteRegion` utility, and an
empty region just erases the op. `acc-specialize-for-device` now
declares SCF as a dependent dialect, like `acc-specialize-for-host`
already does.

The canonicalizer still bails out on multi-block regions, so the OpenACC
dialect does not pick up a dependency on `cf`.

Fixes #236287
DeltaFile
+59-0mlir/test/Dialect/OpenACC/acc-specialize-for-host-fallback.mlir
+32-0mlir/test/Dialect/OpenACC/acc-specialize-for-device.mlir
+19-5mlir/include/mlir/Dialect/OpenACC/Transforms/ACCSpecializePatterns.h
+2-0mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
+1-0mlir/lib/Dialect/OpenACC/Transforms/ACCSpecializeForDevice.cpp
+113-55 files

LLVM/project c9db0af — llvm/lib/CodeGen DwarfEHPrepare.cpp, llvm/test/CodeGen/X86 dwarf-eh-prepare-no-resume-libcall.ll

DwarfEHPrepare: Use RuntimeLibcallsInfo signature for the rewind libcall

Report an error if no rewind libcall is available, rather than
emitting a call to a function with an empty name.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-21llvm/lib/CodeGen/DwarfEHPrepare.cpp
+27-0llvm/test/CodeGen/X86/dwarf-eh-prepare-no-resume-libcall.ll
+48-212 files

LLVM/project 5457270 — clang/lib/CIR/CodeGen CIRGenCoroutine.cpp, clang/test/CIR/CodeGenCoroutines coro-task.cpp

[CIR] Pass the promise address to cir.coro.intrinsic.id (#236293)

CIRGen was emitting `cir.coro.intrinsic.id` with a null promise operand.
Classic codegen fills it in with the promise alloca once the promise
variable has been emitted. Do the same in CIRGen, bitcasting the promise
address to `!cir.ptr<!void>` to match the expected type.
DeltaFile
+10-0clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
+4-2clang/test/CIR/CodeGenCoroutines/coro-task.cpp
+14-22 files

LLVM/project 5586e3a — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/CodeGen/RISCV atomic-signext.ll atomic-rmw.ll

AtomicExpand: Use RuntimeLibcallsInfo signatures for atomic libcalls

Take the function type and attributes of the emitted __atomic_* calls
from RuntimeLibcallsInfo instead of building them by hand.

This fixes missing extension attributes on the value operand and
result of the sized variants, which are unsigned integers of the
access size. On targets whose C ABI extends narrow integer arguments,
such as RISC-V and ARM, the callee could see unextended high bits. i8
and i16 values now get zeroext, and i32 values get signext on
RV64. Callers can also rely on the extended return value, which
removes redundant extensions after some calls.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+705-360llvm/test/CodeGen/RISCV/atomic-rmw.ll
+460-360llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+166-104llvm/test/CodeGen/RISCV/atomic-signext.ll
+105-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-and-or-xor.ll
+19-56llvm/lib/CodeGen/AtomicExpandPass.cpp
+70-0llvm/test/CodeGen/RISCV/GlobalISel/atomic-cmpxchg.ll
+1,525-88014 files not shown
+1,777-96120 files

LLVM/project 762bb48 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use <2 x i64> for i128 libcall types on Win64 (#238221)

Win64 passes __int128 by reference and returns it in XMM0. i128 uses
GPR pairs, and <2 x i64> uses the correct vector register. This
matches the type AtomicExpand and clang uses for these functions.

Also fix AtomicExpand to use the correct type for UEFI (which should
eventually use the type information in RuntimeLibcallsInfo).

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+593-156llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+84-0llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall-i128-win64.ll
+14-4llvm/lib/IR/RuntimeLibcalls.cpp
+2-2llvm/lib/CodeGen/AtomicExpandPass.cpp
+1-0llvm/test/CodeGen/X86/atomic-nocx16-win.ll
+694-1625 files

LLVM/project 4688d51 — llvm/lib/Transforms/Vectorize VectorizeOptions.td SLPVectorizer.cpp

fixup! [SLP] Give failed seed a try
DeltaFile
+5-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-0llvm/lib/Transforms/Vectorize/VectorizeOptions.td
+7-22 files

LLVM/project cd3b318 — lldb/include/lldb/Core Mangled.h, lldb/source/Core Mangled.cpp

[lldb] Stop recognizing Swift mangled names in Mangled (#232930)

Currently Mangled recognizes Swift mangled names, even though LLDB on
llvm.org has no Swift support and can't demangle them.

This patch removes them, so that the Swift plugin can register a
proper Swift mangling scheme. On main, this means that Swift names are
now stored as plain names, which is how LLDB already displayed
them.

Assisted-by: Claude

Depends on: https://github.com/llvm/llvm-project/pull/232929
DeltaFile
+6-37lldb/source/Core/Mangled.cpp
+0-18lldb/unittests/Core/MangledTest.cpp
+2-3lldb/include/lldb/Core/Mangled.h
+8-583 files

LLVM/project ece2ac2 — utils/bazel/llvm-project-overlay/lldb/source/Plugins plugin_config.bzl BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/unittests BUILD.bazel

[Bazel] Fixes f7d1119 (#238993)

This fixes f7d11195ab8bed23fec04b7ef638ddde84630179 (#232927).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=f7d11195ab8bed23fec04b7ef638ddde84630179

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+18-0utils/bazel/llvm-project-overlay/lldb/unittests/BUILD.bazel
+15-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
+34-03 files