unison-snapshot: Update to 2.53.8.52
Advance along upstream master.
The significant change is dropping the old wire procotol used in 2.48
through 2.51. Interop with 2.52.0 and later should remain unchanged.
(This is perhaps an alpha for 2.53.9, but upstream has not said that :-)
[AArch64] Update preserved analyses for AArch64PostCoalescer (#188875)
Preserving all analyses likely is a wrong assertion since we do not know
what other analyses might exist that we've updated.
Updated to preserve CFG, LiveIntervalsAnalysis and SlotIndexAnalysis
(which is transitively preserved from LiveIntervalsAnalysis)
x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h
This is not the best location, but works for now.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56003
[Clang][NFC] Pre-commit tests for #185408
The tests demonstrate how incorrect LLVM IR is generated without diagnostics,
when an OpenCL or HIP scope number is passed to an AMDGPU intrinsic. #185408
lays the groundwork for properly diagnosing this situation by internally
using a separate enum type to represent each set of scope numbers.
net/gnu-radius: Fix the build
The build was failing for two reasons:
1. When devel/readline was installed (e.g. as a dependency of
editors/emacs), its newer interface caused:
readline.c:147:51: error: expected expression
147 | rl_attempted_completion_function = (CPPFunction *) completion_fp;
| ^
readline.c:147:38: error: use of undeclared identifier 'CPPFunction'
147 | rl_attempted_completion_function = (CPPFunction *) completion_fp;
| ^
Patch radius's lib/readline.c to use the modern rl_completion_func_t
type.
2. The elisp files were not being installed, causing a staging error.
Fix this by installing the elisp in a post-install-EMACS-on target.
[2 lines not shown]
genmatch.cc: bring across several enhancements from mainline GCC.
in my testing this reduces the size of the emitted "gimple-match.cc"
by about 35%, reduces the code section sise about 15%, and reduces
the compile time about 30%. (this file is the largest single compile
for all of GCC.)
this makes it capable of compiling on vax and sparc again, it seems,
where both were already capable for GCC 14 (which in addition to this
set, splits the emitted file into 10 sub parts for compiling both
separately and in parallel.)
(this is part 1, part 2 will be about mergig the split of the output
into multiple files, but may be abandoned as this portion helps
enough.)
tested on amd64, vax, sparc as only target, powerpc, with some arm64,
arm, and m68k to come -- may be also very useful for m68k target.
[29 lines not shown]
vm_fault: Avoid creating clean, writeable superpage mappings
The pmap layer requires writeable superpage mappings to be dirty.
Otherwise, during demotion, we may miss a hw update of the PDE which
sets the dirty bit.
When creating a managed superpage mapping without promotion, i.e., with
pmap_enter(psind == 1), we must therefore ensure that a writeable
mapping is created with the dirty bit pre-set. To that end,
vm_fault_soft_fast(), when handling a map entry with write permissions,
checks whether all constituent pages are dirty, and if so, converts the
fault to a write fault, so that pmap_enter() does the right thing. If
one or more pages is not dirty, we simply create a 4K mapping.
vm_fault_populate(), which may also create superpage mappings, did not
do this, and thus could create mappings which violate the invariant
described above. Modify it to instead check whether all constituent
pages are already dirty, and if so, convert the fault to a write fault.
Otherwise the mapping is downgraded to read-only.
[5 lines not shown]
kqueue: Fix a race when adding an fd-based knote to a queue
When registering a new kevent backed by a file descriptor, we first look
up the file description with fget(), then lock the kqueue, then see if a
corresponding knote is already registered. If not, and KN_ADD is
specified, we add the knote to the kqueue.
closefp_impl() interlocks with this process by calling knote_fdclose(),
which locks each kqueue and checks to see if the fd is registered with a
knote. But, if userspace closes an fd while a different thread is
registering it, i.e., after fget() succeeds but before the kqueue is
locked, then we may end up with a mismatch in the knote table, where the
knote kn_fp field points to a different file description than the knote
ident.
Fix the problem by double-checking before registering a knote. Add a
new fget_noref_unlocked() helper for this purpose. It is a clone of
fget_noref(). We could simply use fget_noref(), but I like having an
explicit unlocked variant.
[5 lines not shown]
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn_perm intrinsic (#187798)
Add uniform and divergent register bank legalization rules for the amdgcn_perm intrinsic (v_perm_b32). Since this is a VALU-only instruction, the uniform case maps the destination to UniInVgprB32 and all source operands to VgprB32.
[mlir] Use Repeated<T> in more places to avoid temporary vectors. NFC. (#188846)
Replace `SmallVector<Type/Value>(n, x)` with `Repeated<Type/Value>(n,
x)`. This avoids heap allocations for repeated values.
Also change `ExtractAddressComputations` rebuild callbacks from
`ArrayRef<Value>` to `ValueRange` to enable `Repeated<Value>`
passthrough.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
kitty: update to 0.46.2
- Watchers: Add an on_quit event to global watchers
- Wayland: Fix a crash on some compositors when dragging a tab
between OS Windows
- Fix incorrect behavior when using the actions to move tab
forward/backward with a tab_bar_filter active
- Prevent stacking of multiple rename tab windows
- choose files kitten: Fix a regression that caused incorrect
highlight of matched letters
- macOS: When using macos_traditional_fullscreen do not render
content under the notch
- X11: Fix massive scroll when switching focus between kitty and
another application
- Markers: Fix marking not working for multicell characters
- Fix a regression in 0.46 that broke drag select in unfocused
windows
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn_permlane64 (#187840)
Add register bank legalization rules for the amdgcn_permlane64 intrinsic
in the new RegBankLegalize framework.
After GISel legalization, permlane64 always operates on S32 — sub-32-bit
types are anyext'd to S32 and types wider than 32 bits are split into
S32 parts by legalizeLaneOp. Add rules for B32 type.
Also enable -new-reg-bank-select in the permlane64 lit test and update
affected check lines.