[AArch64] Treat NOP as a separate instruction. (#170968)
Previously, nop was treated as just an alias for hint #0. The
consequence of that was that all the general rules for hint instructions
applied to nop too, in particular that during binary analysis, they were
assumed to have unknown effects. This commit adds AArch64::NOP as a
standalone instruction with no side effects.
The scheduling update in A55-load-store-alias.s is probably not entirely
accurate, but should be more accurate than the previous result.
[Clang] Fix unused variable warning from 1911ce132659222aee353882bd55… (#171223)
…70d689745a7d
These are only used in assertions so trigger warnings in release builds.
Fix this per the LLVM programming standards.
17760 qede: dereferencing freed memory
Reviewed by: Jason King <jason.brian.king at gmail.com>
Reviewed by: C Fraire <cfraire at me.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
wii: Add support for GameCube controller sockets.
A new driver is introduced for the Serial Interface that exposes the four
GameCube controller sockets as uhid(4) devices. The report format and HID
usages of these devices attempts to mimic the official USB GameCube
controller adapter.
wii$ usbhidctl -f /dev/uhid0 -r
Report descriptor:
Collection page=Generic_Desktop usage=Game_Pad
Input size=1 count=1 page=Button usage=Button_3, logical range 0..1
Input size=1 count=1 page=Button usage=Button_1, logical range 0..1
Input size=1 count=1 page=Button usage=Button_2, logical range 0..1
Input size=1 count=1 page=Button usage=Button_4, logical range 0..1
Input size=1 count=1 page=Button usage=Button_11, logical range 0..1
Input size=1 count=1 page=Button usage=Button_12, logical range 0..1
Input size=1 count=1 page=Button usage=Button_10, logical range 0..1
Input size=1 count=1 page=Button usage=Button_9, logical range 0..1
Input size=1 count=1 page=Button usage=Button_8, logical range 0..1
[16 lines not shown]
AMDGPU: Fix truncstore from v6f32 to v6f16 (#171212)
The v6bf16 cases work, but that's likely because v6bf16 isn't
currently an MVT.
Fixes: SWDEV-570985
Fix a typo in "breakpoint add file" and add a test (#171206)
lldbutil.run_to_line_breakpoint had usages that set column breakpoints,
so I thought there was coverage of that on the command-line, but
actually all the `run_to` utilities use the SB API's, and there weren't
any tests of setting file line & column breakpoint through
`run_break_set`. So I missed that I had typed the column option `c` -
that's taken by `--command`.
This patch fixes that typo and adds a CLI test for file + line + column.
vm_fault: only rely on PG_ZERO when the page was newly allocated
If the fs->m page was found invalid on the object queue, PG_ZERO flag is
stale. Track the source of the page in the new fault state variable
m_needs_zero, and ignore PG_ZERO if the page did not came from the
allocator.
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D53963
linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked
Currently lkpi_vmf_insert_pfn_prot_locked will check the page iter to
find a usage of the page. If no page was found, it continues on to
try using PHYS_TO_VM_PAGE() to get a page. Currently it does not check
if a valid page was found before passing it to vm_page_busy_acquire,
which can cause a kernel page fault as vm_page_busy_acquire expects
a valid page pointer.
This can easily be triggered while starting KDE6 in wayland mode, which
many users have been reporting. With this change plasma6 starts properly
in wayland mode.
Sponsored by: NVIDIA
PR: 288565
Reviewed by: markj, kbowling (mentor)
Differential Revision: https://reviews.freebsd.org/D53412
Fixed conflicts during MFC, re-reviewed by kbowling
(cherry picked from commit 03b214a35db1ebdc7575cad8d695c65daf2817bf)
Reland "Redesign Straight-Line Strength Reduction (SLSR) (#162930)" (#169614)
This PR implements parts of
https://github.com/llvm/llvm-project/issues/162376
- **Broader equivalence than constant index deltas**:
- Add Base-delta and Stride-delta matching for Add and GEP forms using
ScalarEvolution deltas.
- Reuse enabled for both constant and variable deltas when an available
IR value dominates the user.
- **Dominance-aware dictionary instead of linear scans**:
- Tuple-keyed candidate dictionary grouped by basic block.
- Walk the immediate-dominator chain to find the nearest dominating
basis quickly and deterministically.
- **Simple cost model and best-rewrite selection**:
- Score candidate expressions and rewrites; select the highest-profit
rewrite per instruction.
- Skip rewriting when expressions are already foldable or
high-efficiency.
[15 lines not shown]