[OFFLOAD] Add olIterateCompatibleDevices API (#226441)
Add a new API that iterates through all devices. For devices compatible
with the image (and their platform too) it calls the Callback.
Assisted by Claude.
[Clang][Sema] Create LocalScope for Variable Template (#228280)
A variable template should create its own LocalScope, as it should be
opaque to other instantiations. This can occur when there are multiple
instantiations in the same lexical scope. The correct behavior is that
these instantiations should not be chained together.
Assisted-by: Claude # Test ReleaseNote
Fixes: #134148
[Clang] Properly parse enumeration declarations with fixed underlying type in generic associations (#210353)
added a new `ParsingGenericAssociationType` flag that is managed by
`GenericAssociationTypeRAIIObject`. If that flag is true, when
encountering a `:` after enum name, try to parse next token as a type,
if successful, then that's the underlying type, if failed, then that is
the end of the enum declaration, and the colon will be parsed as the
generic association.
to check if the next tokens are a type, I added a new function
`isNextCXXTypeId`, which works the same as `isCXXTypeId`, but starts the
check one token ahead.
Fixed #207357
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
llvm-exegesis: Set the module triple and ABI-aware DataLayout
The module used to assemble snippets only had a DataLayout set, which
was computed without the target ABI. Set the target triple on the
module, synthesize the "target-abi" module flag from the
TargetMachine's ABI option, and compute the DataLayout from it.
Without the ABI, a TargetMachine with a non-default ABI would hit the
incompatible DataLayout error when creating the MachineFunction.
Co-Authored-By: Claude <noreply at anthropic.com>
sched_ule: fix invalid tdq_slice() and sched_slice_min
sched_slice_min should always to be greater than zero. When modifying
sched_slice through sysctl, if the new value is less than
SCHED_SLICE_MIN_DIVISOR, sched_slice_min is computed to zero. Add
imax(1, ...) to prevent this.
tdq_slice() should not return a value less than sched_slice_min since
that will cause integer underflow of ts2->ts_slice in
sched_ule_fork_thread. SCHED_SLICE_MIN_DIVISOR is currently set to 6 so
when load is 5 and sched_slice is 4, the two if conditions in
tdq_slice() will pass and the function will return zero. Thus use imax()
so tdq_slice returns sched_slice_min at minimum.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59408
[2 lines not shown]
sched_ule: fix comment on ts_slice
In ULE ts_slice stores the number of ticks of slice passed not
remaining.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59407
(cherry picked from commit 872074c50e99ab8858c2defe255d716f8f75f15b)
sched_4bsd: fix vague comment
The comment "was incremented in schedcpu()" doesn't give enough
background for decrementing ts_slptime by 1 (thus ignoring decay_cpu()
for 1 ts_slptime). More accurately, ts_slptime is decremented by 1
because decay_cpu() has already executed once in schedcpu() when
ts_slptime was 1.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59406
(cherry picked from commit cd33abbce5a5c3b454f00ca3d0ecd71c2234106c)
sched_4bsd: fix comment in maybe_preempt()
The comment says the new thread's priority is not a realtime priority
while the code states pri > PRI_MAX_ITHD which is interrupt priorities
not realtime.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59402
(cherry picked from commit 351f6733180cebdc83585f9a00677f4998f6c6f1)
[TableGen] Generate library option structs with llvm-min-tblgen (#228338)
-gen-opt-parser-defs lives in llvm-tblgen, so a library whose options
are declared in TableGen (CGData, InstCombine, MC) waits for llvm-tblgen
to build before any of its sources compile, while it otherwise needs
only llvm-min-tblgen.
Move OptionParserEmitter and OptEmitter into TableGen/Basic, which
llvm-min-tblgen consists of, and generate those structs with
llvm-min-tblgen.
Aided by Opus 5.5
www/code-server: Update to 4.140.0
The editor marks wrapped lines with word wrap indicators and avoids
inserting duplicate closing brackets. Values of 60 seconds or less for
--idle-timeout-seconds are now rejected in the space-separated form
too. code-server now runs on Node.js 24 instead of Node.js 22.
Changelog: https://github.com/coder/code-server/releases
Sponsored by: Netzkommune GmbH
NAS-143382 / 25.10.8 / Fix rsync extra arguments quoting (by themylogin) (#19917)
https://github.com/truenas/middleware/pull/19496 introduced a
regression: the user had `--rsync-path="sudo rsync"` in their `extra`
args, and the argument value was used literally, causing `bash: line 1:
sudo rsync: command not found` error (it tried to launch `sudo rsync`
binary which didn't exist).
This is a 25.10.7 bug that didn't exist in 25.10.6, so, if we're ever
publishing 25.10.8, it should be backported there.
Original PR: https://github.com/truenas/middleware/pull/19655
---------
Co-authored-by: themylogin <themylogin at gmail.com>
NAS-144032 / 25.10.8 / `vrrp_master`: run `interface.persist_link_addresses` in the background (by themylogin) (#19916)
Original PR: https://github.com/truenas/middleware/pull/19862
Co-authored-by: themylogin <themylogin at gmail.com>
sched_4bsd: remove obsolete comment
In old Unix, the whole process address space including scheduler-related
data was paged out to disk. We now allocate thread-related data with UMA
on wired memory which never page out. Thus this comment is now obsolete.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59398
(cherry picked from commit 46416a57eb7b6d74fda13cc6e40a43bdfa6b7da9)
sched_ule: remove unused KTR_ULE
Commit 62fa74d95a16 ("Add support for the new cpu...") removed all uses
of KTR_ULE, leaving the macro unused.
Reviewed by: olce
Approved by: olce (mentor)
Fixes: 62fa74d95a16 ("Add support for the new cpu...")
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59399
(cherry picked from commit 7997d2a18150a449b563c87490e8d440bb1023f3)
sched_4bsd: remove dumping from maybe_preempt()
'dumping' is true only when kernel is dumping after crash (see
minidumpsys()) so KERNEL_PANICKED() will catch this.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59395
(cherry picked from commit 1dfefffcbdc652ee88a3baa284182f96e20faf17)
sched_4bsd: update function name in comment
In b43179fbe815 ("Create a new scheduler api..."), schedclock() was
renamed to sched_clock() but the function name in the comment remained
still. Update the comment to reflect up-to-date name for schedclock().
Reviewed by: olce
Approved by: olce (mentor)
Fixes: b43179fbe815 ("Create a new scheduler api...")
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59397
(cherry picked from commit 5d67118d2c7388bdc065e640719553ff4d9eea89)
sched_4bsd: add static assertion for nice weight
When NICE_WEIGHT * (PRIO_MAX - PRIO_MIN) exceeds the timeshare range,
two CPU-bound threads with different nice values can have the same
priority as their nice values are clamped to the timeshare range limit.
Add static assertion on NICE_WEIGHT to ensure that there is always
enough room for nice values in the both end of the timeshare priority
range.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59396
(cherry picked from commit e90be6fdf08526624f407923d003b66efa23d304)
sched_4bsd: remove kern.sched.4bsd.followon
kern.sched.4bsd.followon was enabled only for KSE. It was never compiled
since ad1e7d285ab1 and KSE was removed years ago. Now it's time to
remove this tunable.
Reviewed by: olce
Approved by: olce (mentor)
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59394
(cherry picked from commit d29c9f5aca3463e3c7f2fa2263795a78c6430d2d)
[llvm-objcopy] Handle SHF_ALLOC relocation sections in relocatable files (#227204)
llvm-objcopy treats every SHF_ALLOC relocation section as dynamic and
requires its sh_link to refer to .dynsym. Linux livepatch modules
(ET_REL) contain SHF_ALLOC .klp.rela.* sections linked to .symtab
(SHF_ALLOC keeps them in module memory until the patched module loads),
so llvm-objcopy rejects them:
```
error: Link field value 4 in section .klp.rela.vmlinux.text is not a symbol table
```
A relocatable file has no dynamic symbol table, so treat all of its
relocation sections as static, as BFD does. Their symbol indexes are
then updated when the symbol table changes. Since SHF_ALLOC no longer
distinguishes RelocationSection from DynamicRelocationSection, record
the kind in RelocationSectionBase.
LLM-aided
[mlir][MathToLLVM] Fix math.fpowi incorrectly being mapped to llvm.powi (#226089)
`math.fpowi` allows vector exponents, while `llvm.intr.powi` only takes
scalar exponents. This led to vector `math.fpowi` ops being lowered to
invalid IR.
This PR adds support for constant splat exponents, and leaves other
vector cases unconverted.