[WebAssembly] Fix wide bitmask fallback in performBitcastCombine (#190915)
The wide <N x i1> -> iN fallback in performBitcastCombine hardcoded
v16i1/i16 partial masks for every chunk. That is only valid for
16-lane chunks and can crash for cases such as v32i16, where each
concat operand is v8i16 and the partial mask should be v8i1/i8.
Derive the per-chunk mask and integer types from the actual concat
operand type when reconstructing the final scalar bitmask.
Fixed: https://github.com/llvm/llvm-project/issues/190306
[ScheduleDAG] Avoid duplicate worklist entries in ComputeDepth/ComputeHeight. NFC (#192023)
The old loop pushed every not-current predecessor in one sweep, so on
diamond-shaped DAGs a predecessor could be pushed while still on the
stack. Measured on clang -O2 -c sqlite3.i with the old algorithm
instrumented: ComputeDepth had 10.8% duplicate pushes (21.4% of calls
hit the issue).
Rewrite as an iterative post-order DFS that pushes one predecessor at a
time and breaks.
Revert "[LowerTypeTests] Add debug info to jump table entries" (#193663)
Reverts llvm/llvm-project#192736
Seems to cause buildbot failures in cross-project-tests, including on
the premerge postcommit builder.
https://lab.llvm.org/staging/#/builders/192/builds/28251
Detect missing docker root dataset in startup validation
This commit adds changes to fix a subtle issue where `missing_required_datasets` failed to detect when the root docker dataset itself was missing. The check constructed its fatal set using `set(docker_ds)`, which iterates the dataset path string character-by-character (e.g. `"tank/.ix-apps"` becomes `{'t','a','n','k','/','.','i','x','-','p','s'}`) rather than producing a single-element set containing the path. As a result, the root dataset was never included in the intersection check and a missing root docker dataset would silently pass validation instead of raising a `CallError` during docker startup. The fix replaces `set(docker_ds)` with `{docker_ds}` so the full dataset name participates in the fatal-set membership check as intended.
(cherry picked from commit 616fd04e80c7f9165ea41ca5590ae31d4b931e5c)
NAS-140757 / 27.0.0-BETA.1 / Detect missing docker root dataset in startup validation (#18787)
This commit adds changes to fix a subtle issue where
`missing_required_datasets` failed to detect when the root docker
dataset itself was missing. The check constructed its fatal set using
`set(docker_ds)`, which iterates the dataset path string
character-by-character (e.g. `"tank/.ix-apps"` becomes
`{'t','a','n','k','/','.','i','x','-','p','s'}`) rather than producing a
single-element set containing the path. As a result, the root dataset
was never included in the intersection check and a missing root docker
dataset would silently pass validation instead of raising a `CallError`
during docker startup. The fix replaces `set(docker_ds)` with
`{docker_ds}` so the full dataset name participates in the fatal-set
membership check as intended.
[NFC][GlobalISel] Use move capture for SmallVector in LegalityPredicates lambdas (#193464)
Fix lambda captures in `LegalityPredicates` to move `SmallVector`
instead of copying.
[LV] Relax OutOfLoopUses check in `getMinMaxRecurrence()` (#189906)
For more context of this patch, please see #182473. By relaxing,
`OutOfLoopUses` check, we can recognize more case for minmax reduction
and thus vectorize.
hkbd/ukbd: sysctls to swap macbook kbd modifiers
Many applications, desktop environments, window managers & text editors
favor the usage of Alt or Ctrl over Super (Cmd). On a Macbook it is
quite annoying that the Super (Cmd) key gets pride of place by the spacebar.
The standard MacBook Cmd key location only really makes sense for macOS
or maybe in some tiling wm if Mod4/Super is your main modifier.
For most mainstream desktops and window managers, having Alt or Ctrl
in that location makes much much more sense.
This patch adds two sysctls for swapping either Opt(Alt) or Ctrl with Cmd(Super).
Linux has similar sysctls to this; allowing a user to make an Apple
keyboard more "orthodox"/useful at a level that takes effect independent
of typing context - ie) tty, Xorg and/or wayland.
Having a sysctl to do these swaps means that a user doesn't have to faff
about with both creating a custom vt keymap AND figure out which magic
[8 lines not shown]
[flang][OpenMP] Support lowering of metadirective (part 1)
This patch implements OpenMP 5.0 metadirective (static selection among
when clauses), nothing from OpenMP 5.1, and otherwise from OpenMP 5.2.
When all context selectors can be evaluated statically (vendor,
device kind, ISA, construct traits, constant user conditions),
the best-matching variant is selected during flang lowering by taking
advantage of llvm context selector infrastructure.
Dynamic (run-time) user conditions will be handled by a follow-up patch.
This patch is part of the feature work for #188820.
Assisted with Copilot and GPT 5.4.
[SPIR-V][docs] Document supported extensions missing from SPIRVUsage.rst (#193449)
Add entries for extensions that are actively used in the backend but
were not listed in the supported extensions table
sysutils/py-ansible-core: Only portscout the master ports
Never the metaport. This avoids false positives due to the metaport
using a 2.19 instead of 2.20 (because 2.20 requires Python 3.12 to be
the default python).