LLVM/project 3be1dfflldb/test/API/functionalities/scripted_frame_provider/circular_dependency TestFrameProviderCircularDependency.py

[lldb] Skip flaky test_circular_dependency_evaluate_expression_in_get_frame (#213610)

This provider's identity-forwarding pattern intermittently hits a known
frame-identity-aliasing bug in ScriptedFrameProvider::GetFrameAtIndex,
tracked in https://github.com/llvm/llvm-project/pull/208992.
DeltaFile
+1-0lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
+1-01 files

LLVM/project 748828cclang/include/clang/AST DeclObjC.h, clang/lib/AST DeclObjC.cpp

[clang][ast][objc] Implement getNameForDiagnostic for ObjC{Method,Property}Decl (#213030)

This overrides `getNameForDiagnostic` to provide a qualified name
representation for Objective-C methods and properties in diagnostics.
When qualified is true, it formats them using the standard Objective-C
syntax, such as `-[Class selector]` or `+[Class property]`. Previously
these would be `Class::selector` or `Class::property`. If qualified is
false, it falls back to printName.

Note that I avoided modifying `NamedDecl::getQualifiedNameAsString()` or
`printQualifiedName()` which will continue to (unfortunately) return
`Class::method`, but this is intentional to attempt to avoid any
breakage downstream due to output changing.
DeltaFile
+185-1clang/unittests/AST/DeclTest.cpp
+51-0clang/lib/AST/DeclObjC.cpp
+8-8clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
+3-3clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
+6-0clang/include/clang/AST/DeclObjC.h
+253-125 files

LLVM/project 195b799llvm/lib/Target/X86 X86ISelLowering.cpp

X86: Defend against regression from SimplifyDemandedVectorElts load support

It doesn't appear possible to test this independently.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+12-8llvm/lib/Target/X86/X86ISelLowering.cpp
+12-81 files

LLVM/project 3941350clang/lib/Sema SemaAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-extended-image.hip

clang/AMDGPU: Add half typed image gather4 builtin

Follow along with the precedent of using an f32 suffix
for the coordinate type. We probably should have had one
builtin that detected the coordinate type.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+30-0clang/test/CodeGen/builtins-extended-image.c
+15-0clang/test/SemaOpenCL/builtins-extended-image-param-gfx1100-err.cl
+6-2clang/lib/Sema/SemaAMDGPU.cpp
+8-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
+5-0clang/test/SemaOpenCL/builtins-extended-image-err.cl
+5-0clang/test/Sema/builtins-amdgcn-d16-image-16bit-error.c
+69-22 files not shown
+71-28 files

LLVM/project 95cecafclang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/Sema builtins-amdgcn-d16-image-16bit-error.c

clang/AMDGPU: Require 16-bit-insts for half typed image sample builtins

Extend the d16 feature requirement to the half typed image sample
builtins. The sample variants returning 16-bit elements require d16 support
(gfx8+) but were gated only on image-insts/extended-image-insts, so they were
wrongly accepted on old targets.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+50-0clang/test/Sema/builtins-amdgcn-d16-image-16bit-error.c
+23-23clang/include/clang/Basic/BuiltinsAMDGPU.td
+73-232 files

LLVM/project cd7cb48clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/Sema builtins-amdgcn-d16-image-16bit-error.c

clang/AMDGPU: Require 16-bit-insts for half typed image builtins

Typed image load/store operations with 16-bit elements require d16
support which was introduced in gfx8. They were previously gated only
on image-insts, so they were wrongly accepted on targets that have
images but lack 16-bit support (e.g. gfx700), where the backend then
fails to select.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+59-0clang/test/Sema/builtins-amdgcn-d16-image-16bit-error.c
+24-24clang/include/clang/Basic/BuiltinsAMDGPU.td
+83-242 files

LLVM/project ed8cb5fclang/lib/Sema SemaAMDGPU.cpp, clang/test/Sema builtins-amdgcn-d16-buffer-format-16bit-error.c

Use default feature check in codegen instead of sema
DeltaFile
+0-19clang/test/Sema/builtins-amdgcn-d16-buffer-format-16bit-error.c
+16-0clang/test/SemaOpenCL/builtins-amdgcn-buffer-format-d16-target-err.cl
+0-14clang/lib/Sema/SemaAMDGPU.cpp
+16-333 files

LLVM/project dba8becclang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

clang/AMDGPU: Require 16-bit-insts for half typed buffer format builtins

Typed buffer format load/store operations with 16-bit elements require
d16 support which was introduced in gfx8. These builtins previously had
no required features at all, so they were accepted (and then crashed the
backend) on targets without 16-bit support.

Diagnose these in Sema, parallel to the image builtins. The manual
verification here suprised me. The automatic builtin feature verification
is enforced in codegen, which seems like a layering violation which
should be fixed.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+19-0clang/test/Sema/builtins-amdgcn-d16-buffer-format-16bit-error.c
+14-0clang/lib/Sema/SemaAMDGPU.cpp
+4-4clang/include/clang/Basic/BuiltinsAMDGPU.td
+1-1clang/test/SemaHIP/builtins-amdgcn-buffer-format.hip
+1-1clang/test/CodeGenOpenCL/builtins-amdgcn-struct-buffer-store-format.cl
+1-1clang/test/CodeGenOpenCL/builtins-amdgcn-struct-buffer-load-format.cl
+40-73 files not shown
+43-109 files

LLVM/project a7cc951llvm/docs/CommandGuide llvm-calc-occupancy.rst

[llvm-calc-occupancy] Fix title underline length (#213599)

Fix error: invalid header length in
'CommandGuide/llvm-calc-occupancy.rst' (does not match length of title)
in our downstream Sphinx doc build.
DeltaFile
+1-1llvm/docs/CommandGuide/llvm-calc-occupancy.rst
+1-11 files

LLVM/project 738029allvm/lib/IR AutoUpgrade.cpp, llvm/lib/Transforms/Utils LoopUtils.cpp

Enforce single-operand form for llvm.loop.vectorize metadata (#210932)

This patch implements Phase 2 of the RFC "Enforce Single-Operand Format
for All .enable Metadata Nodes". Please refer to RFC:

https://discourse.llvm.org/t/rfc-enforce-single-operand-format-for-all-enable-metadata-nodes/90571/

The two-operand boolean form !{!"llvm.loop.vectorize.enable", i1 0/1} is
replaced by a single-operand enable/disable pair:

  !{!"llvm.loop.vectorize.enable"}    ; force vectorization
  !{!"llvm.loop.vectorize.disable"}   ; suppress vectorization

The Verifier rejects the two-operand form, AutoUpgrade rewrites old
bitcode (including the legacy llvm.vectorizer.enable tag), and the
readers and producers across LLVM, Clang, MLIR and Polly are updated.
DeltaFile
+29-29llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll
+41-7llvm/lib/IR/AutoUpgrade.cpp
+41-0llvm/test/Verifier/llvm.loop.vectorize.ll
+37-0llvm/test/Bitcode/upgrade-loop-vectorize-enable.ll
+17-17llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-VF2-VF8.ll
+25-6llvm/lib/Transforms/Utils/LoopUtils.cpp
+190-59208 files not shown
+493-360214 files

LLVM/project f901de3llvm/lib/Transforms/Scalar GVNHoist.cpp

[GVNHoist] Use MemorySSA, drop MemoryDependenceAnalysis (NFCI) (#212773)

Finalize MemorySSA usage in GVNHoist, while transitioning away from
MemoryDependenceAnalysis.
DeltaFile
+9-10llvm/lib/Transforms/Scalar/GVNHoist.cpp
+9-101 files

FreeBSD/ports d0cc360www/phalcon Makefile distinfo

www/phalcon: update to 5.18.1, add github page to WWW.
DeltaFile
+3-3www/phalcon/distinfo
+3-2www/phalcon/Makefile
+6-52 files

LLVM/project f7213d8llvm/include/llvm/Analysis MemorySSA.h

[MemorySSA] Clarify `getClobberingMemoryAccess(MA, Loc)` overload does not accept MemoryUse (NFC) (#212512)

Outdated comment has been updated to match the implementation, which
asserts on MemoryUse.
DeltaFile
+5-5llvm/include/llvm/Analysis/MemorySSA.h
+5-51 files

LLVM/project c2e4618llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs

MSP430's __mspabi_cmpd/__mspabi_cmpf are one three-way compare symbol serving
every predicate, previously modeled as six suffixed impls each. Replace them
with a single generic operator FCMP3_*, and give softenSetCCOperands a 3rd
lowering option. After the boolean O*_F* and the per-predicate FCMP3_<pred>_F*
helpers, use the generic FCMP3_F* helper tested with the predicate's condition
code.

Also opt __nedf2 out of the MSP430 default set: it was the only libgcc F64
compare not already opted out, so it would otherwise provide FCMP3_UNE_F64 and
win over __mspabi_cmpd for not-equal.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+45-40llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+10-25llvm/include/llvm/IR/RuntimeLibcalls.td
+14-14llvm/lib/Target/MSP430/MSP430Subtarget.cpp
+69-793 files

LLVM/project 46dc783llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/CodeGen TargetLoweringBase.cpp

RuntimeLibcalls: Split soft-float three-way compares into distinct libcall kinds

Soft-float compares come in two flavors. ARM AEABI (__aeabi_dcmpeq) and VFP
(__eqdf2vfp) return a simple 0/1 boolean and use the existing O*_F* / UO_F*
libcalls. The libgcc/compiler-rt helpers (__eqdf2, __ltdf2, ...) return a
three-way -1/0/1, which the legalizer needs to insert the appropriate compare
against.

The three-way helpers previously masqueraded as O*_F* implementations, with the
condition code recovered from a hardcoded switch. Model them instead as distinct
operations. The legalizer then reasons about how to make use of the call result
based on which flavor of operation is available, rather than special casing what
the specific implementation is.

This leaves the mspabi cases for a later cleanup, because it's 3-way usage is
slightly different from the ARM case.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+74-54llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+68-56llvm/include/llvm/IR/RuntimeLibcalls.td
+52-28llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+0-69llvm/lib/CodeGen/TargetLoweringBase.cpp
+14-12llvm/lib/Target/MSP430/MSP430Subtarget.cpp
+18-0llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
+226-2193 files not shown
+244-2359 files

LLVM/project e224358llvm/include/llvm/CodeGen RemoveRedundantDebugValues.h LiveDebugValuesPass.h, llvm/include/llvm/Transforms/Scalar ScalarizeMaskedMemIntrin.h FlattenCFG.h

[NPM] Make few more passes required - 2
DeltaFile
+1-1llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
+1-1llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
+1-1llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
+1-1llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
+1-1llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
+1-1llvm/include/llvm/CodeGen/ExpandReductions.h
+6-66 files not shown
+12-1212 files

LLVM/project 7f161cdflang-rt/include/flang-rt/runtime namelist.h, flang-rt/lib/runtime namelist.cpp

[flang-rt] enable IsNamelistNameOrSlash lookahead for scalar namelist items (#211224)

Resolves https://github.com/llvm/llvm-project/issues/211747

Problem
-------
An empty NAMELIST assignment on a scalar item — e.g. `l =` in

    &nml l= i_count=7 r_value=2.72/

— aborted at runtime with

fatal Fortran runtime error: Bad character 'i' in LOGICAL input field

Every EditIntegerInput / EditRealInput / EditLogicalInput /
EditCharacterInput function starts its list-directed arm with

    if (IsNamelistNameOrSlash(io)) return false;   // no value


    [24 lines not shown]
DeltaFile
+131-0flang-rt/unittests/Runtime/Namelist.cpp
+13-2flang-rt/lib/runtime/namelist.cpp
+14-0flang/docs/Extensions.md
+1-1flang-rt/include/flang-rt/runtime/namelist.h
+159-34 files

FreeBSD/ports 08b86bfjapanese/skk-jawiki Makefile distinfo

japanese/skk-jawiki: Update to 2026.08.01.150202

PR:             297227
Approved by:    fluffy (mentor)
DeltaFile
+3-3japanese/skk-jawiki/distinfo
+1-1japanese/skk-jawiki/Makefile
+4-42 files

FreeBSD/ports 1cac8ffjapanese/mecab-jawiki Makefile distinfo, japanese/mecab-jawiki/files patch-mecab-userdic.csv

japanese/mecab-jawiki: Update to 2026.08.01.150202

PR:             297226
Approved by:    fluffy (mentor)
DeltaFile
+3-3japanese/mecab-jawiki/distinfo
+2-2japanese/mecab-jawiki/files/patch-mecab-userdic.csv
+1-1japanese/mecab-jawiki/Makefile
+6-63 files

FreeBSD/ports f3b742email/mpop pkg-plist Makefile

mail/mpop: Update to 1.4.23

https://marlam.de/mpop/news/mpop-1-4-23/

PR:             297215
Approved by:    fluffy (mentor)
DeltaFile
+3-3mail/mpop/distinfo
+1-1mail/mpop/Makefile
+1-0mail/mpop/pkg-plist
+5-43 files

FreeBSD/ports 3a020e8editors/tamago Makefile, editors/tamago/files patch-its-Makefile.in patch-egg-Makefile.in

editors/tamago: Do not build *.elc files

Add LICENSE_FILE.

PR:             296888
Approved by:    hrs (maintainer timeout 2 weeks)
Approved by:    fluffy (mentor)
DeltaFile
+66-11editors/tamago/files/patch-Makefile.in
+67-0editors/tamago/files/patch-its_Makefile.in
+66-0editors/tamago/files/patch-egg_Makefile.in
+0-15editors/tamago/files/patch-its-Makefile.in
+0-15editors/tamago/files/patch-egg-Makefile.in
+1-10editors/tamago/Makefile
+200-516 files

LLVM/project e2c8f57llvm/lib/Transforms/IPO OpenMPOpt.cpp, llvm/test/Transforms/OpenMP spmdization_no_guarding_two_reaching_kernels.ll spmdization_guarding_two_reaching_kernels.ll

[OpenMPOpt] Null generic-mode wrappers for SPMDized kernels (#207611)

If a kernel gets SPMDized, it doesn't need the wrapper function that is
passed to __kmpc_parallel_60. Keeping the dead wrapper function can lead
to lots of misleading "local memory global used by non-kernel function"
AMDGPU backend warnings.
Let OpenMPOpt null the wrapper argument such that DCE can then remove
the corresponding dead functions.

Claude assisted with this patch.
DeltaFile
+80-0llvm/test/Transforms/OpenMP/spmd_parallel_wrapper_removal.ll
+63-0llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+8-8llvm/test/Transforms/OpenMP/spmdization.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_guarding.ll
+154-113 files not shown
+157-149 files

LLVM/project 7f1381fllvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Merge commit 'refs/pr3-final' into add-data-motion-map-type-bit
DeltaFile
+20-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+15-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+35-32 files

LLVM/project 7ed335ellvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP][NFC] Document HasAttachPtr semantics in mapper codegen comments

Address review comments:

 - Add the struct declarations for the types used by the two worked
   examples in emitUserDefinedMapper, so the entry tables can be read
   without reconstructing the types from the entry sizes.

 - Spell out which entries HasAttachPtr is set on: every entry whose
   storage lies in a pointee block, i.e. the combined entry for the
   block and the individual member entries that are MEMBER_OF it, but
   never the ATTACH entry itself, and never an entry that maps the
   pointer as an object in its own right.

Comment-only change.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+20-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+15-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+35-32 files

OpenBSD/src z2dJeGEsys/kern sysv_shm.c

   Eliminate holding raw shmseg over sleep-window in uvm_unmap

   This simplifies the code back to almost the way it was in
   rev 1.80 except the shmsegs are changed before any sleep is
   possible. This still avoids the double free except via code
   structure instead of extra variable carrying the decision.

   OK millert@

   Reported-by: syzbot+f2c08abe216302bc63d6 at syzkaller.appspotmail.com
VersionDeltaFile
1.87+6-8sys/kern/sysv_shm.c
+6-81 files

LLVM/project 9dfd097clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP target_map_nested_ptr_member_mapper_codegen.cpp

[OpenMP] Propagate PRESENT to pointee entries in mapper codegen

Extend map-type-modifier propagation in emitUserDefinedMapper to the PRESENT
modifier, but only for entries that have an attach ptr (the pointee data, whose
storage differs from the struct's own). A present modifier on the outer clause
must require that pointee to be present on the device.

This is gated on a new PropagatePresentToPointee argument, which Clang sets from
CGM.getLangOpts().OpenMP >= 60. Before 6.0 the present modifier is treated as
not applying to the pointee: the spec committee confirmed the divergence
between the present motion modifier (to/from) and the present map-type modifier
(map) was unintentional, to be fixed as an OpenMP 6.0 erratum. Only propagation
is gated; present written directly in a mapper's own clause applies at all
versions.

A TODO notes PRESENT should also propagate to the struct's own members, which
is blocked while pointer members use PTR_AND_OBJ.

Update the present-check tests to their final 6.0-gated behavior.

    [2 lines not shown]
DeltaFile
+36-11llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+10-17offload/test/mapping/mapper_target_update_present_ptee.c
+14-13offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
+13-4llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+6-9clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+12-3clang/lib/CodeGen/CGOpenMPRuntime.cpp
+91-576 files

LLVM/project dc7adf8clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP declare_mapper_codegen.cpp target_map_nested_ptr_member_mapper_codegen.cpp

[OpenMP][Clang] Enable ATTACH-style maps for mappers.

Track per-entry attach-ptr info (HasAttachPtr) through mapper codegen so that
emitUserDefinedMapper does not add a new outer MEMBER_OF to pointee/combined
entries (which occupy different storage than the struct) or to ATTACH entries.
Clang and the MLIR translator populate the per-entry array in parallel with the
other MapInfosTy arrays.

Address review:
  - Rename MapSkipMemberOfArrayTy to MapHasAttachPtrArrayTy to match the
    HasAttachPtr field it backs.
  - Restructure the emitUserDefinedMapper comment into a bulleted (*)/(**)/(***)
    list keyed to the example entries.
  - Reword the Clang comments: HasAttachPtr marks pointee entries that have a
    base attach-ptr; a combined entry has a base attach-ptr if its constituents
    do; cross-reference emitUserDefinedMapper for the MEMBER_OF rationale.
  - Update the moved present-check tests to their now-correct behavior (the
    attach-style maps make the inbounds present checks pass and remove the
    "explicit extension" errors).

    [2 lines not shown]
DeltaFile
+196-160clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+68-60clang/test/OpenMP/declare_mapper_codegen.cpp
+56-15llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+65-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+18-24offload/test/mapping/mapper_enter_data_always_present_ptee.c
+18-22offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
+421-28611 files not shown
+493-36117 files

LLVM/project 187c39bclang/test/OpenMP declare_mapper_codegen.cpp target_map_array_section_of_structs_with_nested_mapper_codegen.cpp, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries (#210210)

Per OpenMP, when a map/motion clause uses a mapper, any
map-type-modifying modifier on that clause applies to each map the
declared mapper specifies.

This change propagates the `ALWAYS`, `DELETE`, and `CLOSE` bits from the
outer clause's map type into every entry emitted by
emitUserDefinedMapper, except `ATTACH` entries (`ATTACH`|`ALWAYS` is
reserved for `attach(always)`, and the other bits have no meaning for an
`ATTACH` entry).

`PRESENT` is intentionally NOT propagated here: it requires
distinguishing pointee entries from the struct's own storage and is
handled in a follow-up.

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+152-136clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+87-77clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
+87-77clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
+38-2llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+27-9clang/test/OpenMP/declare_mapper_codegen.cpp
+11-17offload/test/offloading/fortran/mapper-map-always-to-enter-data.f90
+402-3187 files not shown
+443-37013 files

LLVM/project 278b9afllvm/test/MC/RISCV xqciio-invalid.s xqcilsm-invalid.s, llvm/test/MC/RISCV/corev XCVmem-invalid.s

[RISCV][MC] Emit Better Token Diagnostics (#209700)

This implements an old FIXME in the AsmMatcherEmitter, which can now
emit a token-specific match error diagnostic id, and potentially a
token-specific error message to go along with the diagnostic id.

For RISC-V, the overall effect is to have fewer "invalid operand for
instruction" diagnostics and have more "expected '<TOKEN>'" diagnostics,
which, with multiple near miss support, gives the user the location that
token was expected (but not found).

The rejig to the order of checks in `validateOperandClass` do not
prevent backends from having custom operand kinds which can accept
tokens, as was available before.

The TableGen parts have been implemented in an opt-in way.

---

This was implemented with the assistance of AI. 
DeltaFile
+57-19llvm/test/MC/RISCV/corev/XCVmem-invalid.s
+76-0llvm/test/TableGen/AsmMatcherTokens.td
+45-15llvm/utils/TableGen/AsmMatcherEmitter.cpp
+6-6llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
+5-5llvm/test/MC/RISCV/xqcilsm-invalid.s
+4-4llvm/test/MC/RISCV/xqciio-invalid.s
+193-498 files not shown
+208-5714 files

HardenedBSD/src 1cfa1f1contrib/netbsd-tests/lib/libpthread t_condwait.c, lib/libsys _umtx_op.2

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+92-18contrib/netbsd-tests/lib/libpthread/t_condwait.c
+55-35sys/kern/kern_umtx.c
+50-22lib/libthr/thread/thr_cond.c
+35-3share/man/man3/pthread_cond_timedwait.3
+22-6lib/libthr/thread/thr_umtx.c
+21-2lib/libsys/_umtx_op.2
+275-868 files not shown
+309-9514 files