[lldb][Windows] Expose each thread's TEB address as extended thread info (#213301)
A Windows thread's local storage is accessed through its Thread
Environment Block
([TEB](https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-teb)),
but nothing in the target exposes that address, so a language runtime
cannot resolve a variable local to the thread in the debuggee.
This patch publishes the thread's TEB from
`TargetThreadWindows::FetchThreadExtendedInfo` under the "teb_address"
key.
This is required for:
- https://github.com/swiftlang/llvm-project/pull/13597
workflows/release-binaries: Fixup Windows version string for release candidates (#215030)
The Wix installer does not support version strings with characters, so
we cannot use the -rc version strings on Windows. In order to work
around this, we change the version on the Windows builds from X.1.0-rcZ
to X.0.0.Z.
---------
Co-authored-by: Cullen Rhodes <cullen.rhodes at arm.com>
[NFC][SPIR-V] Fuse redundant full-traversal loops in SPIRVPrepareFunctions (#215490)
Split out of #211299 per review. Uses make_early_inc_range to rewrite
calls in place instead of collecting them into a vector first, and
builds the function worklist inside the existing per-function loop
instead of a separate pass over the module.
[SPIR-V] Avoid rescanning use lists to check for Block decoration (#211320)
isResourceType previously re-walked the use list of every struct type to
look for an OpDecorate Block, repeating the same scan whenever multiple
types shared a struct element
Record Block-decorated types at the point the decoration is emitted
instead
[SLP]Fix crash when the strided-load stride reuses an in-tree scalar
The runtime stride expansion may reuse an existing instruction with the
matching SCEV, which can be a part of the vectorized tree and get erased,
leaving the emitted stride computation with a poisoned operand. Detect
such scalars during the external uses analysis and register them as
externally used, so the stride operand is replaced with the extract and
the extract is counted in the tree cost.
Fixes https://github.com/llvm/llvm-project/pull/212579#pullrequestreview-4903760428
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/215552
[SelectionDAG] Apply target MMO flags to masked load/store (#212228)
`visitMaskedLoad` and `visitMaskedStore` ignore the target MMO flags.
For RISC-V, this manifests itself by LLVM generating `ntl.p1`
instruction regardless of the metadata attached to the masked load/store
IR instruction.
This change makes sure that `visitMaskedLoad`/`Store` properly take into
account the attached metadata and generate corresponding instruction.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Type the entitlement lookup boundary
This commit adds changes to give the two vocabularies a policy lookup can be keyed by - the license feature keys, and the entitlements derived from license type or tier - a single name, EntitlementKey, and to use it on get_entitlement and the truenas.entitlements.check endpoint so a bogus or misspelled key is caught there rather than raising out of the engine whenever a user first happens to hit that gate. LicenseFeature is re-exported from the entitlements package as well, so callers no longer need to know that half the vocabulary is defined outside this tree.
The endpoint's field carries a validator that resolves a name to its member first, because our API models are strict and a feature arrives over the wire as a plain string, which a bare enum field would refuse outright. check_entitlement itself still takes a str on purpose: it is what decides whether a key is known at all, so its own unknown-key error path would be unreachable if the type could not express an unknown key.
iked: remove pointless call to X509_get_subject_name()
A deserialized certificate always has a subject, so this check doesn't
do anything useful. This was added in r1.7 (2010) as a mostly cosmetic
return check, and it has been useless since r1.30 (2014) when the subject
variable became unused. A subsequent removal of subject in r1.66 (2020)
made this look weird (why would you check subject but not issuer, SPKI,
...?), so garbage collect it.
ok hshoexer
[NFC][SPIR-V] Fuse redundant store-collecting loop into main scan in SPIRVEmitIntrinsics (#215489)
Split out of #211299 per review: the AggrStores collection loop is
folded into the main instruction loop instead of running as a separate
pass
Overhaul documentation of the -offset and -width arguments to make
the macro reference section easier to read and less repetitive,
and to document these arguments more precisely in a less obtrusive place.
* Move the gory details out of the descriptions of .Bd and .Bl;
only state the defaults and recommended arguments there.
* Stop documenting -offset right and -offset center. Neither is
implemented in mandoc(1), both are handled very poorly by groff
and almost never occur in the wild.
* Add a new WIDTH SPECIFICATIONS section after the macro reference.
remove ParserConversionAction, add paramter to ParseStringLiteralExpression instead, add conversion to SystemCharset then back to UTF8 to handle escape sequences in system encoding