[X86] Add tests showing failure to concat fma chain which share concatenated operands (#173403)
We often have fma chains that reuse operands down the chain (e.g mathlib
taylor series expansion) - FMA(FMA(X,Y,Z),X,W) etc.
For these cases combineConcatVectorOps fails to account that the same
operands will be concatenated down the recursion chain.
[AMDGPU] Add test for v_fmamk_f16/v_fmaak_f16 in real-true16. NFC
This is to display a bug in real true16 mode that we do not have
an allocatable 16-bit VGPR class and these instructions do not
have VOP3 forms for allocatable VGPR_16 to be used. To use these
instructions 'VGPR_16_Lo128' must be allocable.
vnode_pager: use ptoa(), atop()
In vnode_pager.c, use ptoa() or atop() instead of arithmetic with
PAGE_SIZE or PAGE_SHIFT.
Reviewed by: alc, kib
Differential Revision: https://reviews.freebsd.org/D49330
[DAGCombiner] Extend fp->int->fp optimizations to include clamping (#164502)
Extends the original pattern to allow min/max operations between the
conversions.
[Github] Delete issue-write-test workflow (#173404)
This workflow never actually tested changes to the issue write workflow
because changes to issue-write.yml need to be committed to main before
they do anything.
truss - Handle xsyscall syscalls better, and fix argument printing on x86_64.
* Some further work is needed to make sure arguments are printed correctly
for xsyscall syscalls, and to update and improve the output.
* xsyscall syscalls are currently always signaled to the PIOCWAIT ioctl with
nargs=0, because the syscall2() handler only looks up the argument count
for the xsyscall SYSCALL (i.e. syscall(2) or __syscall(2)), which takes a
variable argument count. So for now, we can just let truss figure out the
argument count itself.
* Argument printing code was broken on x86_64, due to wrong malloc buffer
sizing (it only didn't segfault out of luck). Update to explicitly
distinguish between 32bit and 64bit arguments.
* Small first update on the syscall argument table maintained in truss.
* Get rid of the Quad argument type printing, which is obsolete on 64bit
systems.
Fixed build with C++20 standard (#169772)
Building LLVM with CMAKE_CXX_STANDARD set to 20 fails since the iterator
facade is not fully compatible with C++20. To make it compatible,
specific operator overloads have to be constrained.
Overload for operator- in ADT iterator is now constrained with concept
BaseT::IsRandomAccess.
Patch by Jonathan Wakely.
Fixes #139072.
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
[APINotes] Avoid duplicate attributes when fields instantiate class templates (#173386)
If a C++ class template `A` is annotated via API Notes and another class
`B` has a field of type `A`, we would apply the attributes from the API
Notes twice. This happened during `ActOnFields`, so this change makes
sure we stop processing API Notes for class template instantiations in
this function.
rdar://166179307
[NFC] Constify IdentifierInfo (#173266)
This change updates several APIs and local uses to take pointers to
const IdentifierInfo where mutation is not required.
AMDGPU: Stop requiring afn for f32 rsq formation (#172082)
We were checking for afn or !fpmath attached to the sqrt. We
are not trying to replace a correctly rounded rsqrt; we're replacing
the two correctly rounded operations with the contracted operation.
It's net a better precision, so contract on both instructions should
be sufficient. Both the contracted and uncontracted sequences pass
the OpenCL conformance test, with a lower maximum error contracted.
t_fpclassify: Fix build properly without __HAVE_LONG_DOUBLE.
Centralize use of union ieee_ext_u, used on machines where double is
not the same as long double, so most of the long double code doesn't
need __HAVE_LONG_DOUBLE conditionals (reminder: __HAVE_LONG_DOUBLE
means long double is _larger_ than double, not just that long double
exists; long double always exists and should work either way).
PR standards/59336: C23: Annex F and math.h extensions
PR lib/59853: compiler-rt softfloat lacks floating-point exceptions
t_fpclassify: Revert previous -- __HAVE_LONG_DOUBLE is used wrongly.
__HAVE_LONG_DOUBLE being defined means long double is _different_
from double (typically 80-bit or 128-bit extended precision), and not
being defined means long double is the same as double.
Any code that uses ordinary long double arithmetic or long double
libm functions should work with or __HAVE_LONG_DOUBLE.
But without __HAVE_LONG_DOUBLE, we don't have things like union
ieee_ext_u for breaking apart the internal representation.
Will re-fix the build in a subsequent change coming up momentarily.
NAS-139000 / 25.10.2 / Make sure lxcfs is not enabled automatically (#17902)
## Problem
The **`lxcfs`** service currently runs independently, even when **Incus
is not running**.
However, Incus expects `lxcfs` to be active **only when Incus itself is
set up and running**.
Keeping `lxcfs` running outside of Incus’s lifecycle leads to
unnecessary background services and inconsistent service management.
## Solution
Disable the standalone `lxcfs` service and tie its lifecycle directly to
Incus:
* Stop `lxcfs` automatically when Incus is stopped
* Allow `lxcfs` to start automatically **only as a dependency of
Incus**, since Incus explicitly requires it
[2 lines not shown]