[lldb] Add initial MicrosoftABIRuntime (#235090)
Adds a `MicrosoftABIRuntime` for resolving dynamic values in C++ on the
Microsoft ABI.
The main difference to the Itanium ABI is that the v(f)table doesn't
include an offset to the top and that there can be more than one
v(f)table per type. Such an offset is only present if the module was
compiled with RTTI. In that case, the RTTI complete object locator
contains that offset. But the first part of resolving dynamic values is
identical: Check if we're pointing at a vtable and resolve the dynamic
type from the name of the v(f)table symbol.
If the module doesn't have RTTI, we need to calculate the offset
ourselves. For this, we do a breadth-first search through the bases. The
mangled name gives us components we need to visit - each path is
supposed to be unambiguous (Clang generates it in
[`MicrosoftVTableContext::computeVTablePaths`](https://github.com/llvm/llvm-project/blob/f45474e16eb99c07e6b34cee08d26b44c8ce4148/clang/lib/AST/VTableBuilder.cpp#L3376-L3472)).
There's one problem though: This algorithm assumes we know the correct
[12 lines not shown]
Tie webshare lifecycle to TrueNAS Connect state
## Problem
Webshare's Caddy only picks up TLS certificates when it starts, and middleware never stopped or restarted webshare when TrueNAS Connect changed. Unsetting TNC left webshare running on a deleted certificate, and re-registering or renewing left it serving a stale one ("connection not secure" until a manual restart). The same happened after every reboot: systemd starts the webshare units before `system.ready`, and caddy-config skips licence detection until then, so they came up with no certificates and nothing restarted them.
## Solution
- **One TNC hook:** TNC fires `tn_connect.certificate.changed` once its certificate is issued or renewed, and after it is deleted on a manual unset or a 401 deregistration. TNC knows nothing about webshare.
- **Webshare reconciles its own state:** on that hook and at `system.ready`, webshare restarts itself if it may run (RESTART rather than RELOAD so link-caddy picks up the certificate too), starts if enabled but stopped, or stops if it may not run and raises a dismissable `WebshareStopped` alert. Standby controllers are left alone.
- **Gate on Community hardware:** off iX appliances webshare runs only while TNC is configured with a certificate. Starting or restarting it otherwise fails with a CallError, and pool import skips starting it rather than failing. Enabling it is allowed and the enable flag is kept: an enabled webshare without TNC is stopped at `system.ready` or by the TNC hook, and starts by itself once TNC is configured.
Merge the stable/27 Webshare MCP migration
## Problem
The stable/27 backport adds the Webshare MCP columns in the 27.0 revision `b4fac2fc788a`, which master doesn't know, so a 27 database that ran it fails to migrate on master. Copying that revision alone isn't enough either, since master's own 28.0 revision `93310886a54c` would then add the same columns again.
## Solution
Added the 27.0 migration exactly as it ships on stable/27, turned `93310886a54c` into a no-op that keeps its revision ID, and added a merge with the current head. The 27.0 migration skips itself when the columns already exist, so master nightlies that ran the original revision keep their values. Also added the MCP fields to master's v27_0_0 Webshare models to match 27.0.
[AMDGPU][NFC] Clean up pre-gfx125x test RUN lines
Drop flags that match defaults: -verify-machineinstrs in .ll tests,
-global-isel=0 in tests without a GlobalISel run, and redundant
-global-isel-abort. Use subarch triples instead of amdgcn plus -mcpu.
Error-only MC runs use -filetype=null.
Change-Id: Ic8e2469780e32dbe204a032fcf9d91a1e8b737d2
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[AMDGPU][NFC] Clean up gfx125x test RUN lines
Drop flags that match defaults: -verify-machineinstrs in .ll tests,
-global-isel=0 in tests without a GlobalISel run, and redundant
-global-isel-abort. Use subarch triples instead of amdgcn plus -mcpu.
Error-only MC runs use -filetype=null.
Change-Id: I22e9cf71556173486cd9bbed4123ee4644dd1cd8
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[KnownFPClass] Preserve normal exclusions when narrowing FP values (#237281)
When the destination format's minimum normal exponent is greater than
the source's, source subnormals cannot round to destination normals.
Preserve exclusions of positive and negative normal values through these
conversions. This lets InstCombine fold normal-class checks after
narrowing and lets Attributor infer stronger nofpclass attributes.
Keep the existing behavior when the minimum normal exponents are equal,
where a source subnormal can round to a destination normal.