[ARM] Enable SlotIndexes compaction by default
Greedy measures live ranges in slot indexes, and the entries left by
instructions erased before allocation make some ranges look longer than
they are. Opt ARM into dropping those entries, as was done for AMDGPU,
so allocation reflects the code actually being allocated.
The test updates are register assignment and spill placement changes.
Revert "[AMDGPU] Clear NoPHIs after SIFixSGPRCopies under the new pass manager" (#238514)
Reverts llvm/llvm-project#238429 because it was not reviewed and
approved.
[AMDGPU][NFC] Clean up pre-gfx125x test RUN lines
Drop flags that match defaults: -verify-machineinstrs in .ll tests,
-global-isel=0 in tests without a GlobalISel run, and redundant
-global-isel-abort. Use subarch triples instead of amdgcn plus -mcpu.
Error-only MC runs use -filetype=null.
Change-Id: Ic8e2469780e32dbe204a032fcf9d91a1e8b737d2
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Release NFS locks before unmounting a dataset
nfsd and lockd keep a file open for every NFSv3 lock and every NFSv4
open or delegation, and deleting a share does not release them. Once
the share is gone, an NFSv3 client cannot even release a write lock:
lockd reopens the file through nfsd for the unlock, and the file
handle is now stale. The dataset stays busy, so deleting it, locking
it or exporting its pool fails with EBUSY. Seen on a customer system
long after the shares were deleted.
Before unmounting, write each filesystem of the dataset to
/proc/fs/nfsd/unlock_filesystem, reaching it through fsmount() so a
lazily unmounted one is covered too, and snapshots automounted under
.zfs/snapshot the same way. A filesystem that a share still exports
is left alone, and so is the whole tree while NFSv4 clients hold
byte-range locks on it: nfsd releases those by revoking them, and its
laundromat can look at a revoked lock's inode after the filesystem is
gone. Should a lock be granted and revoked during the release anyway,
the operation stops with EBUSY and the filesystem stays mounted.
[3 lines not shown]
[CIR] Fuse CIRSimplify collection walks into one (#238505)
`runOnOperation` walked the module twice: once for
ternary/select/switch/ vecsplat ops, once for loads
(SimplifyConstantLoad). Collect both op lists in a single walk. The
first-phase patterns create no LoadOps (Select/Not/Constant only), so
every load phase 2 could see is collected up front.
A listener prunes loads phase 1 erases via fold plus dead-op cleanup,
which the old second walk never saw either. Application order (loads
last, for dominance) is unchanged.
-11% time spent in CIRSimplify pass for some workloads.
[clang-format] Prevent line comment continuation across formatting-disabled boundary (#233414)
Fixes #222510
### Cause
- `OneLineFormatOffRegex` matching the trailing comment on a nested
`#else` directive allows the following enabled line comment to be
treated as continuation of that formatting-disabled comment
- With tabs and the original nested preprocessor reproducer, repeated
formatting oscillates between two tabs and one tab
### Approach
- In `clang/lib/Format/FormatToken.h`, make `continuesLineComment`
return false when `FormatTok.Finalized != Previous->Finalized` after the
existing null checks
- Prevent comment grouping across formatting-enabled and
formatting-disabled boundaries without changing same-state behavior
[clang-format] Fix duplicate brace insertion across preprocessor runs (#235083)
Keep the opening-brace marker after emitting it so that later
preprocessor runs don't insert the braces again.
This addresses a regression from #233758.
Fixes #235036
BPF: Replace diagnosed atomics instead of no-op lowering them
After emitting the unsupported atomic diagnostic, replace the node
with undef results rather than letting it promote and reach
LowerOperation, which then needed a no-op case.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
SelectionDAG: Remove no-op custom atomic lowering in PowerPC and AArch64
Keying atomic actions on the memory type made the sub-word Custom
actions also trigger custom type legalization, which had to be a no-op.
PowerPC only zero-extended the sub-word cmpxchg compare operand, which
getExtendForAtomicCmpSwapArg already handles during promotion. AArch64
converted ATOMIC_LOAD_AND to ATOMIC_LOAD_CLR; make that a generic
expansion when ATOMIC_LOAD_CLR is available.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
games/eduke32: Add fullscreen-display patch
In window managers such as dwm, fvwm, bvwm, etc. moving fullscreen
windows should cause resizing to the new output display.
eduke32 automatically resizes in window mode but not when asked to
run fullscreen. This patch causes resize when, for example, a user
in dwm utilizes Alt+Shift+Period (or Alt+Shift+Comma) to send the
game to another screen.
Reland "[lld][MachO] Support Objective-C class selector stubs" (#238486)
Relands #219744, reverted in #238435.
Limit the class-stub test to arm64. llvm-objdump does not annotate
arm64e chained selector pointers, causing the shared FAST checks to fail.
[libc++][test] Increase the constexpr step limit for ranges.ends_with.pass.cpp (#238491)
The test evaluates all the iterator and sentinel combinations in a
single constant evaluation. On some versions of Clang, this blows up the
constexpr step limit. This is what we did in the contains_subrange test
as well.
[AMDGPU] Preserve shuffles that swap 32-bit pairs
Allow legal or custom 32-bit shuffles on targets with packed moves when
all fully defined pairs swap neighboring elements and at least one such
pair exists. This preserves packed moves through DAG combines while
avoiding the extra copies and waits introduced by broader masks.
Update existing float, integer, and pointer shuffle checks for gfx90a
and gfx942.
Updated sysutils/xenkernel420 to 20261103
Updated sysutils/xentools420 to 20261103
Updated sysutils/xenstoretools to 20261103
Updated sysutils/xenkernel418 to 20261103
Updated sysutils/xentools418 to 20261103