man.cgi: remove stale manpage releases
Remove some outdated manual pages releases which are not really
supported by man.cgi: Slackware, SLES, Ubuntu interim releases.
[AArch64][NeoverseV1/V2] Fix extended/shifted-register scheduling for ADD[S]/SUB[S]/AND[S]/BIC[S] (#220920)
Verified with llvm-exegesis on Neoverse V1 and V2 hardwares.
Opcodes | Before | After
-----------------------|---------------------|------------------------------
ADDWrx/SUBWrx | 2c (SchedAlias) | IsRealArithExtendW: 1c or 2c
ADDSWrx/SUBSWrx | IsCheapLSL | IsRealArithExtendW: 1c or 2c
ADDSXrx/SUBSXrx | IsCheapLSL | static 2c (always real extend)
ADDSXrx64/SUBSXrx64 | IsCheapLSL | static 1c (always passthrough)
ANDS/BICS Wrs,Xrs | static 2c | NeoverseShift0: 1c or 2c
IsCheapLSL checks the shift *amount* (<=4), which is the wrong axis for
the extend-register forms (need the extend *type* instead) and does not
apply to ANDS/BICS (no amount threshold, just shift-present-or-not).
NeoverseNoLSL becomes NeoverseShift0: adding LSR, ASR and ROR in
addition to LSL. Does not apply it on NeoverseV3 and others as it is not
validated using llvm-exegesis on these hardwares.
NAS-143924 / 27.0.0-BETA.1 / Fix webshare share gathering in usage reporting (#19800)
## Problem
`sharing.webshare` is a typesafe service, so its `query` hands back
pydantic entries rather than dicts, and the gather loop subscripted
them. A single configured webshare was enough to raise `TypeError` — and
since `gather()` swallows a failing stat function wholesale, that
dropped the entire `shares` payload, SMB/NFS/iSCSI included, leaving
only a log line behind.
## Solution
Read `enabled` and `is_home_base` off the entry as attributes.
llvm-c: Compute the DataLayout from the triple and ABI
Drop a use of createDataLayout
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[clang-tidy] Fix false positive in readability-non-const-parameter for atomic builtins (#221951)
Atomic builtins are represented in the AST by `AtomicExpr` rather than
`CallExpr`, so `readability-non-const-parameter` never analysed their
operands and assumed the pointed-to data was only read. It then
suggested making those pointer parameters point to const, and applying
the fix-it produced code that no longer compiles.
The most visible case is the `expected` operand of a compare-exchange,
which per the C standard must be a pointer to non-const because it
receives the old value when the exchange fails:
https://godbolt.org/z/sovKf3G3c
Before this change the check reported `expected` as a candidate for
pointer-to-const. The GNU builtins are affected the same way, and there
the address operand `obj` was reported too, as were the destination
operand of `__atomic_load()` and the old-value operand of
`__atomic_exchange()`.
[5 lines not shown]
Fix webshare share gathering in usage reporting
## Problem
`sharing.webshare` is a typesafe service, so its `query` hands back pydantic entries rather than dicts, and the gather loop subscripted them. A single configured webshare was enough to raise `TypeError` — and since `gather()` swallows a failing stat function wholesale, that dropped the entire `shares` payload, SMB/NFS/iSCSI included, leaving only a log line behind.
## Solution
Read `enabled` and `is_home_base` off the entry as attributes.
llc: Compute the DataLayout from the triple and ABI
This is the minimum change to avoid createDataLayout. Future work
will be needed here to really drop use of the ABIName field.
Enforce canmount=noauto across the whole apps dataset tree
## Problem
We only re-assert canmount=noauto on the five structural ix-apps datasets, never on the per-app volume datasets beneath app_mounts. If one of those ends up canmount=on - a hand-rolled zfs recv migration, or simply the ZFS default when a replication task runs without properties - the boot mount sweep mounts it while correctly skipping its noauto parent, and docker then mounts /mnt/.ix-apps straight over the top. The volume stays mounted but unreachable: zfs reports mounted=yes, stat returns ENOENT, and the container fails with "bind source path does not exist". Nothing recovers from this on its own, because the remount path only mounts datasets reporting mounted=no.
## Solution
Walk the whole apps tree in a single query and set canmount=noauto wherever it drifted. This is hooked into the docker start reconcile and, more importantly, into pool import right after the root dataset properties are normalized. The import hook is what actually prevents the breakage - it runs while the pool is imported but none of it is mounted yet, so the recursive mount that follows never encounters a canmount=on descendant. Pool import cannot fail because of it; a failure only logs a warning.
The docker setup plugin here is a service rather than the module-level functions it became elsewhere, so the enforcement lives on docker.setup as a sync impl plus an async wrapper, and the callers in import_pool go through middleware.call rather than a typed accessor.
[libc] Add getgrent, setgrent, and endgrent entrypoints (#224372)
Implement the POSIX group database iteration entrypoints getgrent,
setgrent, and endgrent on top of grp_utils and FlatFileDatabase.
Non-reentrant calls read into a process-global DynamicBuffer that grows
to the high-water mark of the largest group record seen. endgrent closes
the file stream without freeing the buffer so pointers returned prior to
endgrent remain valid until the next non-reentrant call.
* Add getgrent, setgrent, and endgrent entrypoints
* Define getgrent, setgrent, and endgrent in include/grp.yaml
* Expose entrypoints across Linux target architectures
* Add hermetic integration tests in test/src/grp/getgrent_test.cpp
Assisted-by: Automated tooling, human reviewed.
Reland [flang][HLFIR] make copyin/copyout allocation inline (#224063) (#224570)
This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.
In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits and the copyout runtime
was just modified to do "copy on change" so I do not want to inline it
until more this new approached is tested more broadly.
Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
[9 lines not shown]
NAS-142807 / 27.0.0-BETA.1 / Enforce canmount=noauto across the whole apps dataset tree (#19699)
## Problem
We only re-assert canmount=noauto on the five structural ix-apps
datasets, never on the per-app volume datasets beneath app_mounts. If
one of those ends up canmount=on - a hand-rolled zfs recv migration, or
simply the ZFS default when a replication task runs without properties -
the boot mount sweep mounts it while correctly skipping its noauto
parent, and docker then mounts /mnt/.ix-apps straight over the top. The
volume stays mounted but unreachable: zfs reports mounted=yes, stat
returns ENOENT, and the container fails with "bind source path does not
exist". Nothing recovers from this on its own, because the remount path
only mounts datasets reporting mounted=no.
## Solution
Walk the whole apps tree in a single query and set canmount=noauto
wherever it drifted. This is hooked into the docker start reconcile and,
more importantly, into pool import right after the root dataset
properties are normalized. The import hook is what actually prevents the
[3 lines not shown]
[CMake] Do not use llvm-rc without Clang in external projects (#224505)
On Windows, configuring LLVM without Clang but with external projects
i.e.
```
-DLLVM_ENABLE_PROJECTS=
-DLLVM_ENABLE_RUNTIMES=orc-rt
```
llvm-rc is selected as the rc compiler but requires clang for
pre-processing. Only select llvm-rc for external projects when Clang is
also part of the toolchain, otherwise CMake uses the host rc compiler.
[MemoryDependenceAnalysis] Migrate `isStorePreservingMemoryLocation` to Loads (NFC) (#223700)
Minor opportunity to expose the helper and move it out of MDA.
devel/llvm22: fix arm64 and FLANG plists
In the arm64 case, add a missing file. In the FLANG case, delete an
empty directory.
PR: 298493, 298511
Reported by: yuri
[AMDGPU][CodeGen] Replace non-existent opcodes in gfx1250 test (#223767)
`IMAGE_LOAD_V5_V1` and `IMAGE_SAMPLE_C_CL_O_V4_V8` don't exist on
gfx1250. This keeps the tests' intent without relying on them.
[llvm] Adjust LLVM_ABI annotations (#224293)
The automatic LLVM_ABI annotations script has been broken since #208780.
PR #223354 restores its functionality. In the meantime, some API
annotations regressed. This PR aims to fix all of these regressions.
This was applied by calling the updated ids-check-helper.py from #223354
on the public LLVM headers on a macOS host and clang-formatting the
results.
The effort to build LLVM as a dylib is tracked in #109483.
[ELF,test] Reorganize ICF tests by the property they exercise (#224567)
icf-merge.s now covers relocations into SHF_MERGE sections, adding
section symbol addends at and past the end of the section.
icf-reference-graph.s collects reference shapes: the cycle from icf2.s
and icf3.s, a section referencing itself, and chains that differ only
beyond the initial hash's reach. Only the cycle was covered before.