[mlir][ub] Add `m_Poison()` matcher (#185022)
Add a dedicated matcher for poison values in the UB dialect, similar to
`m_Constant()` for general constants. The matcher uses
`PoisonAttrInterface` for future extensibility.
Replace existing checks against `ub::PoisonAttr` with the new matcher.
Assisted-by: claude
fix SMB NULL/EMPTY DACL handling regression
This commit fixes a regression in our tests for NULL and empty
DACLs over the SMB protocol. The regression was caused by an
ACL handling fix in openzfs that restricts owner write and
ACL write privileges. The fix is to remove the owner write
portion of the set_dacl command from the SMB client.
(cherry picked from commit 0d9c52a5f632a1949debdc2b4cc089007f038200)
NAS-140164 / 27.0.0-BETA.1 / fix SMB NULL/EMPTY DACL handling regression (#18385)
This commit fixes a regression in our tests for NULL and empty DACLs
over the SMB protocol. The regression was caused by an ACL handling fix
in openzfs that restricts owner write and ACL write privileges. The fix
is to remove the owner write portion of the set_dacl command from the
SMB client.
[MLIR] Fix crash in inliner when return arity mismatches call results (#185037)
The `handleTerminator` implementation in the test dialect's inliner
interface was asserting that the number of `test.return` operands equals
the number of values to replace. This assertion fires when inlining a
callee whose body uses `test.return` with values into a call site that
expects zero results (e.g., a void `llvm.func` calling a function whose
implementation uses `test.return` with operands).
Replace the assertion with a conditional early return so the inliner
gracefully skips replacement instead of crashing.
Fixes #108376
Assisted-by: Claude Code
[HLSL] Add parsing for the resource dimension attribute.
The resource attribute was added, but the code to be able to parse it
as we do with other resource attributes was missing. This means we are
not able to test the attribute in isolation.
This change adds the parsing for the attribute, and adds more testing
for it.
Assisted-by: Gemini
[C++20][Modules] Do not apply `getAdjustedOffset` to file-internal byte offset. (#184956)
In https://reviews.llvm.org/D137214 and
https://reviews.llvm.org/D136624, offset adjustment logic was added to
account for the non-affecting module map files that are removed. While
the adjustment logic applies to global source location offsets, they do
not apply to file-internal offsets (relative within the file).
In `ASTWriter::WritePragmaDiagnosticMappings`, the adjustment is applied
to `StatePoint.Offset`s in `StateTransitions`. However, these offsets
are file-internal offsets, not global source location offsets. As such,
applying adjustment to these offsets result in incorrect diagnostic
behavior from the module.
Specifically, wrapping a piece of code in `pragma clang diagnostic
push/pop`, inside of a module is not applied correctly. A new test case
`diag-pragma-nonaffecting.cpp` was added to verify the broken behavior
as well as the corrected behavior with this commit.
Assisted-by: Claude Opus 4.6
AMDGPU: Fix selection failure on fast vector rootn
This was emitting the raw rcp intrinsic, which will fail for any
vector type. This is an afn context anyway, so just emit fdiv
which will select to rcp but also will undergo type legalization.
[clang-doc][NFC] Move static functions into JSONGenerator as methods (#184663)
Most of the JSONGenerator functionality was provided by a series of
static functions. This made it unwieldy to access useful properties of
ClangDocContext. As methods, they can now access a pointer to CDCtx.
An LLM was used to automate declaring the functions inside the class and
adding the scope resolution operators.
Fixes #181767
firewall: make MVC protocol selection much more like old GUI
This means list most frequently used protocols first, but only if
found in the list that has been built (including additional option
like TCP/UDP from model).
NAS-140093 / 26.0.0-BETA.2 / Move ntb0 MTU from 64000 to 4000. (by mgrimesix) (#18388)
The comment from NAS-140093 describes the reasoning behind this change:
> dropping the MTU size of the ntb interface to 4000 has resolved a
persistent memory allocation failure condition
This PR effects that change.
Change was tested on an m30 via manually updating the systemd link file.
Original PR: https://github.com/truenas/middleware/pull/18387
Co-authored-by: Mark Grimes <mark.grimes at ixsystems.com>
[OFFLOAD] Replace C-style casts with C++ style casts in obtainInfoImpl (#185023)
Replace C-style bool casts (bool)TmpInt with C++ functional casts
bool(TmpInt)
[AArch64][llvm] Update Armv9.7-A dependencies
Update Armv9.7-A dependenies:
* `FeatureF16MM` to depend on `FeatureNEON`
* `FeatureF16F32DOT` enabled by default for Armv9.7-A
NAS-140093 / 27.0.0-BETA.1 / Move ntb0 MTU from 64000 to 4000. (#18387)
The comment from NAS-140093 describes the reasoning behind this change:
> dropping the MTU size of the ntb interface to 4000 has resolved a
persistent memory allocation failure condition
This PR effects that change.
Change was tested on an m30 via manually updating the systemd link file.
NAS-140161 / 26.0.0-BETA.2 / Fix encrypted dataset lock/unlock when mountpoint directory is missing (by sonicaj) (#18386)
This commit fixes two bugs in dataset encryption lock/unlock when the
mountpoint directory doesn't exist on disk (e.g. parent dataset is
readonly, preventing mkdir during ZFS mount):
1. Lock: set_zfs_attributes was called on a non-existent mountpoint
path, crashing with FileNotFoundError. The key unload had already
succeeded, but the job reported FAILED. Fixed by guarding with
os.path.exists() before setting the immutable flag.
2. Unlock: load_key succeeded but zfs.resource.mount failed because ZFS
couldn't create the mountpoint on a read-only parent. The key was never
unloaded, leaving the dataset in an inconsistent state (key_loaded=True,
locked=False, unmounted). Fixed by unloading the key when all datasets
under an encryption root fail to mount.
Original PR: https://github.com/truenas/middleware/pull/18384
---------
Co-authored-by: Waqar Ahmed <waqarahmedjoyia at live.com>
[mlir] Add option to cloning for different results (#184202)
With his permission while he is away, I am resurrecting @zero9178's very
first MLIR PR #65171 that adds an option to change result in the
operation cloning mechanism. This is very useful as cloning is currently
the only way to change the results of an operation.
> Since Operations cannot change the results after creation, a clone is
necessary to create new results. Doing such an operation generically has
not been possible so far. This PR therefore adds a new option to the
CloneOptions struct allowing adding changing the results of the created
operation.
>
> The caller is responsible to ensure that this is a valid operation and
setting the IRMapping accordingly afterwards if required.
---------
Co-authored-by: zero9178 <markus.boeck02 at gmail.com>