[AMDGPU] Fix duplicate s_wait_asynccnt on gfx12-plus
S_WAIT_ASYNCCNT was missing from counterTypeForInstr(), so
isWaitInstr() did not recognize it as a wait instruction. On the
fixpoint algorithm's second pass over a loop body, the already-inserted
S_WAIT_ASYNCCNT was treated as a normal instruction, causing
WAIT_ASYNCMARK to be re-processed and a duplicate S_WAIT_ASYNCCNT to
be emitted.
Assisted-By: Claude Opus 4.6
NAS-140580 / 26.0.0-BETA.2 / Use mypy from pip (by themylogin) (#18663)
We already have it in the developer image
Original PR: https://github.com/truenas/middleware/pull/18661
Co-authored-by: themylogin <themylogin at gmail.com>
[Clang] prevent incorrect rejection of auto with reordered declaration specifiers in C23 (#177865)
Fixes #164121
---
This patch addresses the issue where `auto` was incorrectly rejected
with reordered declaration specifiers in C23.
[AMDGPU] Fix async operations in GlobalISel on gfx12-plus
For GFX1250 async LDS intrinsics, map the LDS pointer operand to VGPR
instead of SGPR. These instructions use $vdst/$vdata (VGPROp_32)
for the LDS address, unlike the pre-GFX12 variants which use M0 (SGPR).
Assisted-By: Claude Opus 4.6
libpam: Move to a new "pam" package
OpenPAM is a discrete, largely self-contained system component.
Users may not need PAM for many use-cases (e.g. jails, containers),
so move it to its own package.
Use LIB_PACKAGE to create a separate pam-lib package for libpam,
so that applications that support PAM don't need to bring in all
the PAM modules if PAM isn't actually in use.
Add pam to the minimal sets, since this is a core system component that
people expect to be installed. This means all supported installation
methods will install the PAM modules by default, so don't add explicit
dependencies on the PAM modules from things that use PAM (e.g. runtime),
allowing custom/embedded systems to omit these easily.
This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.
[9 lines not shown]
[NFC][AMDGPU] don't test asyncmark for non-async variants on pre-gfx12
The test for asyncmark on pref-gfx12 targets, checks the effect of async marks
on both async and non-async instructions. This is achieved by a sed invocation
in the RUN line to remove the .async from intrinsic name.
Such a test serves no purpose other than a minor flex. The two sets of CHECK
lines using the WITH and WITHOUT prefix are not easy to compare by a simple
eyeballing. Eliminating this hack makes it easier to add GISEL variants later.
With and without GISEL, the combinations will increase to four instead of the
current two.
Assisted-By: Claude Opus 4.6
AMDGPU: Use SmallSet for VOPD scalar reg tracking (#190650)
Use SmallSet instead of SmallVector for UniqueScalarRegs.
VCC_LO was pushed without uniqueness check, so when both
components used VCC implicitly it was counted twice,
rejecting valid VOPD pairings.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
zstd: Move to a new zstd package
Zstd is a discrete, self-contained system component. To match how we
package zlib, bzip2 and xz, move it to its own package, with a separate
lib package.
Add the new package to the minimal set, since this is a core component
that users expect to be installed.
This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.
[stable/15: MFC under the re@ pkgbase policy for 15.1]
MFC after: never
Reviewed by: bapt
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D53603
[2 lines not shown]
[orc-rt] Add managed-code-calls TaskGroup. (#190740)
Adds a ManagedCodeCallsGroup TaskGroup to Session, and updates the
shutdown sequence to wait until all calls into managed code have
completed before proceeding to shut down the Session's Services and the
Session itself.
To support safe calls into managed code two new helper template methods
are added:
callManagedCodeSync attempts to acquire a TaskGroup::Token for the
ManagedCodeCallsGroup before calling the given function and returning
its result.
callManagedCodeAsync attempts to acquire a TaskGroup::Token for the
ManagedCodeCallsGroup before calling the given async function. The
wrapped Return call for the async function will carry the acquired
Token, ensuring that shutdown waits for the async Return call to be
destroyed (whether or not it's actually called).
[mlir][BytecodeReader] Fix crash reading FusedLoc with empty locations (#189228)
FusedLoc::get(context, locs) may return UnknownLoc when locs is empty
and no metadata is provided. The bytecode reader's cBuilder used
cast<FusedLoc>() on this result, which crashes with an assertion
failure.
Fix by giving the FusedLoc DialectAttribute its own cBuilder that passes
Attribute() explicitly, causing getChecked<FusedLoc> to call the
two-parameter storage constructor directly and always produce a
FusedLoc.
Fixes #99626
Assisted-by: Claude Code
packages: Fix build with libucl 0.9.3
In libucl 0.9.3, macros and includes are disabled by default when
creating a new UCL parser. This breaks the package build, which
relies on includes. Fix this by explicitly passing zero flags
to ucl.parser().
MFC after: 3 days
Fixes: abda442d92fd ("contrib/libucl: Import libucl 0.9.3")
Reviewed by: kevans, bapt
Reported by: freebsd at walstatt-de.de
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56266
(cherry picked from commit 63d0e3e3aa2483420f828686336d6615616363d5)
libsamplerate: Only build when virtual_oss is built
Gate libsamplerate behind MK_CUSE and MK_SOUND, like virtual_oss.
Nothing else uses this library, so there's no point building it
if we aren't building virtual_oss.
This avoids building a useless FreeBSD-sound package containing
only this library when WITHOUT_SOUND is set.
MFC after: 1 week
Reviewed by: christos, emaste
Differential Revision: https://reviews.freebsd.org/D56164
Sponsored by: https://www.patreon.com/bsdivy
(cherry picked from commit baa7a870d65db324d4dd781702e7ccefde20a3ee)
packages: Move xz to the minimal set
pkg(8), via its daily periodic script, requires xz. We don't have
a way to encode dependencies from ports on base packages right now,
so instead move xz to the minimal set so it's always installed.
This isn't an ideal solution, but it's justified in this case since
pkg(8) is always installed, so having its dependencies always
installed is acceptable.
(Following discusson on the diff, new versions of pkg have now been
changed to use zstd instead of xz, but we still think xz is useful
enough to keep in minimal.)
MFC after: 1 week (stable/15 only)
Reviewed by: des, bapt, emaste
Differential Revision: https://reviews.freebsd.org/D55630
Sponsored by: https://www.patreon.com/bsdivy
(cherry picked from commit 43773002fa63262d531ce3ee5cf5d3fe872a3388)
devel/R-cran-ellipsis: Update to 0.3.3
- Update to 0.3.3
- Correct LICENSE to MIT (missed in 82dbc8dd9ef7)
Reported by: portscout
Fixes: 82dbc8dd9ef7 devel/R-cran-ellipsis: Update to 0.3.2
packages: Always use the bootstrap flua
To avoid breaking the build due to incompatible changes in flua or lua
libraries on the host, use the bootstrap flua for the package build.
MFC after: 2 weeks
Reviewed by: kevans, emaste
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56271
flua: Always build as a bootstrap tool
We want to use flua from the source tree (not the host) during package
build, firstly to protect us from breaking changes in lua or libucl,
and secondly to allow (in future) cross-building of packages from
Linux or macOS.
Since we don't know if the user will be building packages during the
bootstrap phase, and because flua is fairly small and generally useful,
build it as a bootstrap tool unconditionally.
MFC after: 2 weeks
Reviewed by: kevans, emaste
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56270
[clang][ExtractAPI] emit correct spelling for type aliases (#134007)
Previously, C++11 type aliases were serialized using "typedef"
regardless of the source spelling.
This checks if the TypedefNameDecl is actually a TypeAliasDecl and
corrects the spelling.