MLIR: Fix CI: use OpTy::create, clang-format, exempt generated table
- MIRImport: replace deprecated builder.create<OpTy>() with OpTy::create(...)
(the -Werror -Wdeprecated-declarations build failed on the old form).
- Run clang-format over the hand-written translation and tblgen sources.
- Wrap the generated AArch64MIRLowering.inc in a clang-format off region so the
data table is exempt from formatting.
[AArch64] Don't add runtime SCEV checks from containsDecreasingPointers. (#216961)
containsDecreasingPointers is a heuristic query, called from
preferPredicateOverEpilogue to decide whether tail-folding needs
TailFoldingOpts::Reverse. It only guides tail-folding decision, but
permanently added predicates, which may not even be used later.
Request the predicates explicitly and discard them instead. They are not
needed for correctness; the vectorizer has to add all predicates needed
for correctness independent of TTI.
PR: https://github.com/llvm/llvm-project/pull/216961
[CIR] Drop the callconv opt-out from seven more CIR tests (#218275)
Following #216396, seven more tests carried
`-fno-clangir-call-conv-lowering` with a TODO waiting on parameters of
an empty or tag class. `coro-exceptions.cpp` also named a bare-variadic
declaration with no named parameter. #214742 lowers all seven now, so
the opt-out and its TODO go and the tests exercise the pass.
No CHECK line moves, so the IR these tests already pinned is what the
pass produces.
Assisted by: Cursor / claude-opus-5
zfskeys - only prompt if zfskeys and zfskeys_prompt are enabled
By default don't block booting with a prompt if a zpool needs a keyboard
password to unlock it. To enable prompting for keyboard password during
boot require:
zfskeys_enable="YES"
zfskeys_prompt_enable="YES"
to both be enabled. This returns to POLA of prior behaviour.
PR: 296130
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D57750
(cherry picked from commit 276a3dacdb60b65d65301aced5d8443cc5d27ea2)
netmap: Fix driver name handling
if_initname() requires the caller to ensure that the lifetime of the
interface's name buffer contains that of the ifnet itself.
netmap_vi_create() wasn't respecting that; we were instead passing the
stack-allocated buffer provided by the ioctl handler.
While here, add a check to avoid assuming that the caller-provided
buffer is nul-terminated.
Reported by: syzkaller
Reviewed by: vmaffione
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58676
(cherry picked from commit 800d5b7a8a4f5665ced0453e090f8d563366bd47)
netmap: Fix a race in kqueue registration
We need to acquire the netmap global lock earlier, to avoid racing with
the NETMAP_REQ_REGISTER ioctl handler.
Reported by: syzkaller
Reviewed by: vmaffione
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58677
(cherry picked from commit 6de818285f066c6705816674c671761dc09bff90)
openssh: Add date bump command to FREEBSD-upgrade instructions
Provide a convenient in-place sed edit command to update the FreeBSD
VersionAddendum dates with today's date.
Sponsored by: The FreeBSD Foundation
ZTS: replace uncompress with gunzip in history tests
Alpine Linux (musl/BusyBox) does not provide uncompress; gunzip handles
.Z (LZW compress) files and accepts the same -f flag, making it a
drop-in replacement on all supported platforms.
Fixes the following tests on Alpine 3.24:
- history/history_001_pos
- history/history_007_pos
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18981
[mlir][vector] Fix multi-reduction unrolling with a lower rank target shape (#216799)
Fixes #216640
`mlir-opt -test-vector-unrolling-patterns` crashes on a rank 3
`vector.multi_reduction`:
```
Assertion `offsets.size() == sizes.size() && offsets.size() == strides.size()' failed.
```
The unroll target shape is allowed to have fewer dimensions than the
vector being unrolled, in which case it applies to the trailing
dimensions. `computeShapeRatio` accepts that, and
`UnrollElementwisePattern` handles it by padding the shape with leading
unit dimensions.
`UnrollMultiReductionPattern` used the target shape as it is, both for
the size of the slice taken from the source and to index the dimensions
[24 lines not shown]
[CIR] Classify around padding and zero-width bit-fields on x86_64 (#217517)
The bridge turns down any struct whose CIR type has a pad member, which
is every over-aligned struct and every struct with a gap between two
members. The ABI library could have handled these all along, since it
reads each field's offset and treats a gap as holding nothing. However,
we were handing the library the padding as though it were a field, so it
saw data where there was none. Now the pass gives the library only the
members that hold data.
A zero-width bit-field has no member at all, so CIRGen emits one for it,
marked `bitfield` and typed as a zero-length array of the bit-field's
declared type, for the pass to read back.
Assisted-by: Cursor / claude-opus-5