[flang][OpenMP] Remove OmpVerifyModifiers
Verification of clause modifiers is now done in a single place.
The OmpVerifyModifiers function was left in place, but was reduced
to always return "true".
Remove the definition and all calls to it.
The large amount of apparent changes is mostly due to unindenting
and reformatting previously indented code.
[flang][OpenMP] Implement verification of modifier sets
Modifier sets and modifier groups are the modifier analogues of clause
sets and clause groups. In the OpenMP specification, modifier groups
have properties that are independent of the clause on which a member of
the group is specified, whereas modifier sets are local to clauses.
The implementation of modifier groups is identical to that of groups,
the only exception is that modifier sets don't have names that are
usable in diagnostic messages.
[flang][OpenMP] Move modifier verification out of header file
Since modifiers now have enum ids, verifying syntactical properties
of them no longer has to be type-based. Move the modifier verification
code out of a header file with some changes to use the numeric ids.
Some form of a connection between AST nodes for modifiers and the enum
ids is still required, now it's a static member of the modifier AST node.
ZTS: fix CDDL boilerplate in zpool_expand_007_pos.ksh
Commit 1b7143557 added this file with the old OpenSolaris-style CDDL
header (CDDL HEADER START/END wrappers, wrong URL). Replace with the
current short-form CDDL boilerplate, as done in f836c9ee7 for the
block_cloning FIDEDUPERANGE tests.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18985
bcm2835_audio: Remove wrong chn_intr()
chn_trigger() calls bcmchan_trigger() with the channel lock held.
However, bcmchan_trigger() calls chn_intr(), which also tries to lock,
which results in a lock recursion panic. chn_intr() is meant to be
called by the interrupt handler and not inside CHANNEL_TRIGGER()
methods. Remove the call altogether, the bcm2835_worker_play_start()
call that comes after is enough.
Fixes: 69cab2d1bfb5 ("Fix locking in bcm2835_audio driver")
Reported by: Marco Devesas Campos <devesas.campos at gmail.com>
Tested by: Marco Devesas Campos <devesas.campos at gmail.com>
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D59055
(cherry picked from commit f0778a6f9ba7045239a0055ebfbd7965d1f162c9)
rump: Handle uvm_wait tickets like the real kernel does.
This should avoid trouble in any path that calls uvm_wait_prepare
with spin locks held even though it's not going to sleep in uvm_wait,
of which there are probably many more than just rump_hypermalloc --
uvm_wait_prepare is supposed to be cheap enough not to be worth
conditionalizing. (Perhaps we should measure that, though.)
PR kern/60636: rump on sparc64 totally broken still with vm.c rev 1.201
Followup for:
PR kern/58964: uvm: missing wakeup on uvmexp.free
PR kern/60029: panic: cpu0: softints stuck for 16 seconds
ministat.1: Match actual output
Fix a documentation discrepancy, where the implementation was updated to
use uncertainty propagation for the ratio of means, but the example
output in the manual page was left unchanged.
Update the manual page example from 70.7384% to 102.3% to reflect the
actual output.
While here, also update the example in the README.
Reviewed by: ziaee
Fixes: a304ad90e9ae ("Reduce the bogosity of ministat's % difference calculations.")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D59157
[HLSL][NFC] Generalize and consolidate the texture tests
Many of the texture tests were parameterized specifically for Texture2D
and Texture2DArray, therefore retaining several 2D-specific literals,
including: the `hlsl::dimension` spelling, the width of the offset / ddx
/ ddy / LOD-location vectors, the operator[] index type and the
`spirv.Image` Dim operand.
Furthermore, the macro names used for parameterization was inconsistent
among test files.
This commit re-parameterizes the texture tests to generalize to more than
only 2D textures, and keeps the macro names consistent across test files.
Each test file now also has a comment describing each macro used in the
test.
This commit also moves 3 misplaced texture tests under
clang/test/SemaHLSL into clang/test/SemaHLSL/Resources.
[2 lines not shown]
[flang][OpenMP] Remove OmpVerifyModifiers
Verification of clause modifiers is now done in a single place.
The OmpVerifyModifiers function was left in place, but was reduced
to always return "true".
Remove the definition and all calls to it.
The large amount of apparent changes is mostly due to unindenting
and reformatting previously indented code.
[flang][OpenMP] Implement verification of modifier sets
Modifier sets and modifier groups are the modifier analogues of clause
sets and clause groups. In the OpenMP specification, modifier groups
have properties that are independent of the clause on which a member of
the group is specified, whereas modifier sets are local to clauses.
The implementation of modifier groups is identical to that of groups,
the only exception is that modifier sets don't have names that are
usable in diagnostic messages.
[flang][OpenMP] Move modifier verification out of header file
Since modifiers now have enum ids, verifying syntactical properties
of them no longer has to be type-based. Move the modifier verification
code out of a header file with some changes to use the numeric ids.
Some form of a connection between AST nodes for modifiers and the enum
ids is still required, now it's a static member of the modifier AST node.
AMDGPU: Add SubArchSpelling override to the TargetParser TableGen (#218500)
Add an optional SubArchSpelling field for targets where the subarch name
isn't trivially derivable from it's gfxNMK name.
Co-authored-by: Claude <noreply at anthropic.com>
[AArch64][GlobalISel] Add lowering for s/umul.fix.sat (#217221)
This extends the existing s/umul.fix lowering to handle the saturating
versions of the instructions. They use a TruncSSatS or TruncUSatU
instead of the trunc, keeping the implementation simple. That does
require truncsat lowering to be added to allow those operations to
subsequently lower if needed.
security/cvechecker: mark as deprecated
This project has been declared EOL on Github on 2025-12-09 by its
author, after having received no commits for several years.
Removal of this port is planned before the end of September 2026.
rump_hypermalloc: Don't get a uvm_wait ticket if we won't uvm_wait.
This path may be taken with a spin lock held, which means we can't
take pdaemonmtx (IPL_NONE).
PR kern/60636: rump on sparc64 totally broken still with vm.c rev 1.201
Followup for:
PR kern/58964: uvm: missing wakeup on uvmexp.free
PR kern/60029: panic: cpu0: softints stuck for 16 seconds
[cmake] Fix DIA SDK detection from VSINSTALLDIR (#218499)
The DIA SDK wasn't automatically detected after #160354, because
`if($Env{VSINSTALLDIR})` would be evaluated as
[`if(<string>)`](https://cmake.org/cmake/help/latest/command/if.html#string)
after expansion. This always evaluates to false unless it's one of the
true constants like `1` or `ON`. In turn the DIA SDK was never
automatically detected.
The current 23.1.0 RC builds are also built without it even though the
SDK should be available (e.g. `llvm-pdbutil diadump <pdb>` fails).
The fix is to use [`if(DEFINED
ENV{<name>})`](https://cmake.org/cmake/help/latest/command/if.html#defined).
[offload] Use pinned memory for KLE
Reduce kernel launch latency by using the fast path "pinned host memory
-> device memory" for submitting the kernel launch environment to the
device.
Claude assisted with this patch.
[offload] Thread allocation kind through async info (#214755)
Also fix some leaks in nowait regions, where async can only release
memory if it notices in queryAsync that the work is completed.
Claude assisted with this patch.
[AMDGPU] Add OMOD folding for TRANS bfloat16 instructions (#218286)
Enable omod folding optimization for transcendental bfloat16
instructions. This patch extends SIFoldOperands to recognize and fold
multiplication or division patterns following TRANS BF16 instructions
into the OMOD field, allowing operations like `rsq.bf16(x) * 4.0` to be
encoded as `rsq.bf16(x) mul:4`.
Key implementation details:
1. Added V_PK_MUL_BF16 support in isOMod() and getOModValue():
- Detects multiplication by 2.0 (0x4000), 4.0 (0x4080), or 0.5 (0x3F00)
- Only folds when the immediate is in src1 operand
- Allows op_sel_hi modifier but blocks other modifiers (NEG, ABS)
2. Added V_PK_ADD_BF16 support for x+x pattern:
- Recognizes when both operands are the same register
- Folds to MUL2 OMOD
3. Enhanced tryFoldOMod() for real-true16 mode:
[10 lines not shown]