[GlobalISel] Add a shared matcher for memcpy-family instructions (NFC) (#201766)
This is a precursor to adding TableGen patterns for these combines so
the handwritten C++ handling can be removed from prelegalizer combiners.
There's a fair bit of code movement, but it should be NFC.
findGISelOptimalMemOpLowering is unchanged.
Assisted-by: codex
ppsspp: updated to 1.20.4
1.20.4
Ad-hoc
Support for "data.json" live status from adhoc relay servers
RetroAchievements UI improvements around subsets
Assorted ad-hoc UI improvements
Fixes for The Warriors
Texture upscaling
Fix old bug causing some textures to get stuck unscales on some hardware when using GPU texture upscaling
Improved performance of MMPX-adv upscaler
NNEDI3 and Spline36 GPU texture scaling
Rendering fixes
[29 lines not shown]
[Github] Drop persist-credentials from setup-python (#202254)
bd46a7d172661d4477737a65b107bf40782c7e40 attempted to do this but
accidentally modified the setup-python action instead of the checkout
action. bde6226911f6a95daf71bbc468046dbe53f8f92b fixed this partially by
adding persist-credentials to the checkout action, but failed to remove
the errant addition. This patch fixes that.
[Runtimes][CMake] Fix llvm package not found when -DLLVM_LIBDIR_SUFFIX=64 is specified (#201822)
The issue is exposed in #201773, where LLVM_FOUND is 0 in libclc in
in-tree build.
Revert "[clang-tidy] Preserve line endings in macro-to-enum fixes" (#202247)
This commit encountered PCH related errors on buildbot, so revert it for
now.
[clang-tidy] Fix inferred field note location (#202105)
Fixed the misleading note location for inferred ID-dependent fields.
Now the note points to the assignment that introduces the dependency,
not the field declaration.
Fixes #202077
[utils] Fix DenseMap debugger printers for the packed used-bit array (#201755)
DenseMap no longer use in-band sentinel keys. (#200595 and #201281).
Update the GDB pretty printer and LLDB data formatters to test the used
bit rather than comparing keys.
GDB: advancePastEmptyBuckets relied on DenseMapInfo::getEmptyKey(),
which could not be evaluated in GDB and so was disabled, leaving the printer
to emit empty and erased buckets. It now walks bucket indices and skips any
whose used bit is clear.
LLDB: DenseMapSynthetic used a key-uniqueness heuristic to guess which
buckets were live, which mishandled a lone erased bucket (hence the
former tombstones=1 summary note). It now reads the used array directly,
so erased entries are skipped exactly. NumTombstones no longer exists,
so drop it from the summary.
Written by Claude Opus 4.8
[2 lines not shown]
[test] Regenerate CSKY/M68k codegen tests after atomic and error-message changes (#202244)
Fix tests after #195308 ([AtomicExpand] Preserve flags expanding
loads/stores to cmpxchg/atomicrmw) and ([CodeGen][NFC] Remove
contractions in error messages).
[MRI] Avoid walking past all defs in hasOneUse() (#201249)
The use-def list is circular in the Prev direction (Head->Prev == Tail)
and defs always precede uses, see
MachineRegisterInfo::addRegOperandToUseList().
We can implement hasOneUse() by checking only the Tail and its Prev,
instead of
walking past all defs from the head via use_iterator.