[AMDGPU][GlobalIsel] Replace wip_match_opcode with MIR patterns with basic match and apply clauses. (#219185)
This patch replaces wip_match_opcode mechanism with MIR-pattern matching
for opcodes with no or partial possibility for declarative pattern
match/apply clause for the AMDGPU-specifc GICombines.
The following opcodes are covered : `G_TRUNC`, `G_AMDGPU_FMED3`,
`G_FCANONICALIZE`, `G_FNEG`, `G_MUL` and `G_SEXT_INREG`.
[AMDGPU][GlobalISel] Use MIR patterns for multi-opcode combiner rules. (#219278)
Match several AMDGPU GlobalISel combiner rules with MIR patterns inplace
of wip_match_opcode mechanism:
- uchar_to_float, cvt_f32_ubyteN, int_minmax_to_med3 and
fp_minmax_to_med3 / fp_minmax_to_clamp now match via a GICombinePatFrag
that fans out over their opcodes with !foreach, keeping the existing C++
match/apply.
- rcp_sqrt_to_rsq becomes fully declarative: a group of four intrinsic
patterns folding rcp(sqrt(x)) and sqrt(rcp(x)) into rsq(x) for both
G_FSQRT and amdgcn.sqrt, removing matchRcpSqrtToRsq.
It also includes some regenerated LIT tests changes which accounts for
making uchar_to_float a MIR pattern resulting in its reorders after the
generic itof_const_zero_fold_ui pattern on the G_UITOFP root; they only
race on uitofp(0), where folding to fconstant 0.0 instead of
cvt_f32_ubyte0 is value-identical.
[mlir][scf] Declare ControlFlow as a dependent dialect (#216852)
The canonicalization of a multi-block `scf.execute_region` creates
`cf.br`, but the SCF dialect does not declare `cf::ControlFlowDialect`
as a dependent dialect.
When nothing else has loaded ControlFlow, `mlir-opt --canonicalize`
fails with
LLVM ERROR: cf.br created with unregistered dialect.
Prepending an unrelated function that merely mentions `cf.br` makes the
same input canonicalize cleanly, which is the symptom `dependentDialects`
prevents.
The test needs a non-`func.func` parent: Func's inliner extension
already loads ControlFlow, which is why no in-tree test caught this.
Assisted-by: Claude (Anthropic)
www/wikid: update to 3.0.0
v3.0.0
new feature(s)
inline article image rendering powered by the kitty graphics protocol with universal unicode halfblocks fallback: a165199
async image fetching and local caching: 0775ef6
keybind (I) and settings toggle for image rendering: e2efffb 8767843
responsive aspect ratio preservation: 4986eca
bug fix(es)
eliminate graphics flickering and cpu spikes with diffed rendering & in-memory payload cache: ea576f1
composite transparent png backgrounds onto white to for readability on dark terminal themes: 168fd82
optimised viewport link underline traversal with advancing pointer: 7395bfe
use Cow on decode_html_entities to eliminate allocations on clean strings: d07bb03
qol/style change(s)
[131 lines not shown]
sysutils/onefetch: update to 2.28.1
2.28.1
What's Changed
CI/CD
Fix CD pipeline by @o2sh
2.28.0
What's Changed
New Features
add language support for Just by @o2sh in b0b9742
add language support for Mojo by @ruvasqm in #1500
add language support for Batch file by @spenserblack in #1745
Add language support for Slang by @arealsquirrel in #1759
Bug Fixes
[11 lines not shown]
sysutils/dua-cli: update to 2.44.0
2.44.0 (2026-08-30)
This is a massive release that cost my weekend and was motivated by the chance to reduce the amount of open issues to 0. Besides the memory usage being cut in half, one can now keep snapshots of interactive runs, and compare them to older snapshots, or simply view them again with different settings. Finally, it's now possible to configure keyboarding as well. What follows is the more elaborate, generated version of this text, and not my speech.
This release turns traversal results into durable artifacts, shows exactly where disk usage moved, puts every interactive key under user control, and makes large traversals substantially leaner.
dua interactive --export before.dua
# ... later ...
dua interactive --export after.dua
dua diff before.dua after.dua
Snapshots. Completed interactive traversals can now be exported atomically to a deterministic, SHA-256-protected snapshot, with streaming zlib compression by default. Load one with dua interactive --import for a read-only tour, or replay it through dua aggregate --import as a flat list, a depth-limited tree, or folded stacks, with the usual sorting and total controls. Snapshot imports retain root order and traversal metadata; the aggregate renderers replay them with bounded memory. The interactive view still supports navigation, searching, sorting, marking, and opening stored paths that continue to exist, while refresh, trash, and deletion stay safely disabled. Its mark pane drops destructive prompts and colors for snapshots, or whenever both destructive actions are unbound. The dua crate exposes the snapshot, replay, and diff APIs for library users as well.
Diffing. dua diff OLD NEW streams additions, removals, and signed size changes as a compact, colored context tree, then shows the largest additions and removals. Use --directories-only, --prefix, --depth, --format, and --summary-limit to shape the report. Both snapshots are checksum-verified in parallel before their canonical entry streams are merged in bounded memory; whole added or removed directories collapse into a single useful change.
Configurable keybindings. Every interactive action can now be rebound or disabled, and dua config show-default documents all bindings. Pane hints follow the configured keys, while --once understands the same named and modified bindings as well as compact character sequences.
[118 lines not shown]
shells/oh-my-posh: update to 31.1.0
v31.1.0
Features
git: extend the native gitstatus engine (857a49a)
v31.0.0
Bug Fixes
config: close field-set analysis gaps and version the stamps (866f3cb)
config: widen heuristic scan to all config texts, stabilize fingerprints (c360885)
runtime: never cache a dir index built from an empty listing (27d853e)
segments: cover per-segment version fields in the derived fetch (41a7d6d)
segments: exclude wrapper-dispatch tools from the version cache (e8baaa9)
segments: keep Enabled standalone-correct under gate bypasses (2a70481)
feat(segments)!: derive version fetching from templates (4f8331e)
feat(jujutsu)!: separate bookmark names and distance (75b17d8)
feat(scm)!: derive fetch behavior from templates (e35405e)
[40 lines not shown]
[CodeGen] Unsized token-like target extension types in GlobalISel
An unsized target-type with IsTokenLike property should be lowered to
LLT::token() since it has no machien representation. Sized token-like types
continue to be lowered to sized non-token types.
This may be seen as a lossy translation, but note that even the semantics of
pure tokens is not enforced in MIR. It is possible to create a PHI or Select in
MIR with a token type. So far, it seems that the GlobalISel flow merely depends
on transforms being well-behaved enough to not produce such MIR.
Added a type `llvm.test.tokenlike` to be able to test the lowering of both sized
and unsized versions.
Assisted-By: AI Code Assistant
[X86] Fix VECREDUCE_XOR to PARITY lowering for 16-bit elements (#219216)
We can't lower vecreduce.xor to parity(movmsk) if the movmsk doesn't
match the element size. For 16-bit elements we'd use movmskb, which
would result in two bits per element, which are always the same. Thus
the parity is always zero.
Disclosure: Test case identified by AI, patch is my own.
devel/gitpane: update to 0.15.0
[0.15.0] - 2026-08-29
Added
Submodule rows in the Changes panel can now be pinned to the repo list from the context menu: "Add to repositories" appears for unpinned submodules and swaps to "Remove from repositories" (with the same confirmation as the d key) once pinned. The menu is grouped with separators — mutations, inspect, graph, pin management — and adding a repo now jumps focus to the Repositories panel with the new row selected. (e0b93a5, 2a4b1ce)
Pinned submodules nest under their parent repo in the list: they render as a dim └ name connector row directly below the parent in every sort order, instead of a long breadcrumb path sorted on its own. (2a4b1ce, 28a0614, c44f1d9)
Fixed
Removing a pinned repo that the root scan can never rediscover (a submodule inside another listed repo, or a repo outside every root) no longer appends its bare directory name to excluded_repos, where it substring-matched unrelated paths forever after. (2a4b1ce)
Quitting no longer leaves an in-flight git operation (and its ssh) running after exit; fetch, pull/push/submodule and file/worktree ops are killed as a process group on exit, force-quit, or timeout. Follow-up to the v0.14.0 fetch process-group kill, which only covered the fetch timeout path. (#60, #61, closes #59) Thanks @expoli.
[0.14.1] - 2026-08-27
Added
One-line install without Rust tooling: curl -fsSL https://raw.githubusercontent.com/affromero/gitpane/main/install.sh | sh detects the platform, downloads the latest release binary, and installs it to /usr/local/bin (override with GITPANE_INSTALL_DIR; sudo only when the target dir is not writable). Replaces the four per-platform curl+tar blocks in the README.
Fixed
[12 lines not shown]
devel/gitnr: update to 0.3.1
What's New
Wayland clipboard support — clipboard actions now use native Wayland data-control, with automatic X11 fallback. Copied templates and commands remain available to native Wayland apps (#23). Thanks @LashaKamadadze.
Fixes & Maintenance
Replaced the yanked fastrand 2.4.0 dependency with 2.5.0
Added pull request validation while keeping release jobs restricted to version tags