[lldb][Windows] Use (lib)python3.dll when linking with limited API (#206585)
In release builds, we already link liblldb against `(lib)python3.dll`
(#201407). However, we still defined
`LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME` to `(lib)python3(.)xx.dll`. So
`LoadPythonRuntime` will try to load the version specific library. You
can reproduce this when trying to run a release build with a different
Python version in PATH.
With this PR, `LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME` will use the stable
ABI library name if we use the limited Python API.
[AMDGPU] Use sparse direct lookup table for VOPD eligibility (#206534)
This replaces a manually generated table with a new TableGen feature
that enables sparse direct lookup. Additional changes are made to put
both X and Y eligibility into a single table.
Assisted-by: Claude Code
[APINotes] Serialize function-like Where.Parameters (#204147)
This PR builds on #203227 by serializing function-like
`Where.Parameters` selectors into binary API notes.
The selector remains declaration-selection data, separate from
annotation payloads. Existing Sema paths still use name-only lookup and
keep legacy broad matching. Exact overload matching is left to the
follow-up Sema PR.
## Format
This bumps the API notes minor version because the global-function and
C++ method table key layout changes.
Function-like entries now use a shared binary key containing:
- parent context ID
- declaration name ID
[59 lines not shown]
[ARM] Allow predicated `subs pc, lr, #imm` in Thumb2 (#205751)
ARMAsmParser has a special case for this instruction that used the
instruction name unmodified, but this would include the condition code,
so if the instruction has one, the tblgen entry doesn't match. The
condition code is already added as a separate operand.
Check for `CarrySetting` so that the special case does not falsely match
on `sub pc, lr, #imm`, which is not valid in Thumb2.
[GISel][Inlineasm] Don't assert on multi-register inline asm inputs (#200612)
`lowerInlineAsm()` asserts that the number of registers allocated for an
input operand equals the number of source vregs, then separately bails
for `NumRegs > 1`. The assert is wrong: the counts legitimately differ
when a value is passed in a register pair/tuple (e.g. i128 in a RISC-V
"R" GPR pair, or i512 to an AArch64 ld64b operand), crashing
assertions-enabled builds instead of falling back to SelectionDAG.
Replace the assert and the `NumRegs > 1` check with a single guard
requiring exactly one source vreg in one register; anything else is
rejected so it falls back instead of asserting. The supported path is
unchanged.
https://godbolt.org/z/v6WTaYEsd
[orc-rt] Add StandaloneMachOUnwindInfoRegistrar. (#206669)
StandaloneMachOUnwindInfoRegistrar provides methods and SPS-CI
allocation actions for registering and deregistering MachO unwind-info
sections (DWARF EH-frame and compact-unwind) via libunwind's
find-dynamic-unwind-sections APIs.
A Registration handle returned by enable() represents the connection
with libunwind; clients must keep it alive for the lifetime of their
Session, and its destructor releases the registration. Concurrent
registrations are reference-counted so multiple sessions can share a
single underlying libunwind hook.
Registered code ranges are stored in an interval map. Overlapping ranges
are rejected; lookups for an address outside any registered range return
no info, so libunwind falls back to its other lookup mechanisms safely.
A future MachO-Platform will provide integrated unwind-info registration
and should be preferred when available. This class will then remain
[8 lines not shown]
[WebAssembly][GlobalISel] Implement integer comparisons and `G_SELECT` (#197257)
Adds legalization and tests for various integer comparison operations
(namely `G_ICMP` is legal, but also enable `lower` for some other ones),
as well as `G_SELECT`.
Split from #157161
[WebAssembly][GlobalISel] Implement `COPY` (#197256)
Adds instruction select handling and tests for `COPY`. While `COPY` gets
dissolved in the end, these changes are required to keep the selector
from crashing when trying to assign a regclass to its operands.
Split from #157161