[BFI] Detect irreducible SCC from CycleInfo instead of by failing. NFC (#214941)
BFI computes block frequencies with the Wu-Larus algorithm, extended (in
2014) to irreducible SCCs by modelling each one as a loop with multiple
headers.
Irreducible SCCs are detected by failing: mass distribution runs until
`addToDist` hits a retreating local edge to a non-header, then aborts,
packages the SCCs it found, and reruns.
CycleInfo already reports reducibility, so mark the innermost enclosing
loop (or the top level) while initializeLoops walks the cycle forest,
and package the marked regions before distributing any mass. The abort
paths and both undo sites become asserts.
Aided by Claude Opus 5
libpmc: Fix AMD L3 counter parameter parsing
Fix two small bugs affecting the event parsing of AMD L3 counters.
AMD's manual and JSON disagree about the naming scheme on recent
processors. I use the naming scheme present in the recent PPRs to be
consistent, so in the JSON parser we rename 'allslices' to 'allsources'
just as we already do with sliceid and sourceid. Also ensure that we
parse the 0x prefix present in the newer JSON files.
Reviewed by: mhorne
Sponsored by: Netflix
MFC after: 1 week
Pull Request: https://github.com/freebsd/freebsd-src/pull/2180
security/certmonger: convert OpenLDAP dependency to USES=ldap
Replace hardcoded libldap.so:net/openldap26-client in LIB_DEPENDS
with USES=ldap, letting the framework handle version selection.
PR: ports/297400
Approved by: maintainer (crees)
video: disable the static assertions for now
The previous version of this work included the definitions but
not the static asserts. It's tripping up in some CI builds, likely
due to compat API building.
Since this isn't any more or less broken than before, disable the
static assertions until we figure out a proper path for this.
Fixes: 9c9428825f4c55e3cb37412c661bb9d385db4c68 (video: add generic video(4) capture framework)
[DomTree] Store immediate dominator as DFS number. NFC (#215059)
Replace the local variable `IDoms` and the pointer `InfoRec::IDom` with
a DFS number member.
Since `attachNewSubtree` and `reattachExistingSubtree` walk NumToNode in
DFS order, they can index IDom directly. Replace an always-false `if
(DT.getNode(W))` condition with an assert.
textproc/libspelling: import libspelling-0.4.10
A spellcheck library for GTK 4.
This library is heavily based upon GNOME Text Editor and GNOME
Builder's spellcheck implementation.
zstream: zstream_queue bug fixes and simplifications
This PR makes several changes to `zstream_queue.c` aimed at
bulletproofing and simplification.
### Remove thread pool spindown
This PR removes code that decomissioned worker threads once the last
remaining queue had completed. The interlock between this operation and
the creation of new queues complicated the locking system significantly
and is known to have introduced at least two subtle locking bugs. With
this change, the thread pool will be created once and retained until
the process exits.
### Remove lock-free queue scoring
The code is designed to work correctly even without scoring threads
holding the queue mutexes of the queues they're examining. However,
I've confirmed through performance testing that lock-free operation
[39 lines not shown]