vnet: Ensure the space allocated by vnet_data_alloc() is sufficent aligned
Some 32-bit architectures, e.g., armv7, require strict 8-byte
alignment while doing atomic 64-bit access. Hence aligning to the
pointer type (4-byte alignment) does not meet the requirement on
those architectures.
Make the space allocated by vnet_data_alloc() sufficent aligned to
avoid unaligned access.
PR: 265639
Diagnosed by: markj
Reviewed by: jhb, markj
Co-authored-by: jhb
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D55560
[AArch64][PAC] Emit `!dbg` locations in `*_vfpthunk_` functions (#179688)
The usage of pointers to member functions with Pointer Authentication
requires generation of `*_vfpthunk_` functions. These thunk functions
can be later inlined and optimized by replacing the indirect call
instruction with a direct one and then inlining that function call.
In absence of `!dbg` metadata attached to the original call instruction,
such inlining ultimately results in an assertion "!dbg attachment points
at wrong subprogram for function" in the assertions-enabled builds. By
manually executing `opt` with `-verify-each` option on the LLVM IR
produced by the frontend, an actual issue can be observed: "inlinable
function call in a function with debug info must have a !dbg location"
after the replacement of indirect call instruction with the direct one
takes place.
This commit fixes the issue by attaching artificial `!dbg` locations to
the original call instruction (as well as most other instructions in
`*_vfpthunk_` function) the same way it is done for other
compiler-generated helper functions.
[mlir][affine] Fix crash in linearize_index fold when multi-index is ub.poison (#183816)
`AffineLinearizeIndexOp::fold` guarded the constant-folding path with
`llvm::is_contained(adaptor.getMultiIndex(), nullptr)`, which only
catches operands that have not been evaluated at all. When an operand
folds to `ub.PoisonAttr`, the attribute is non-null so the guard passed,
and the subsequent `cast<IntegerAttr>(indexAttr)` call crashed with an
assertion failure.
Fix by replacing the null-only check with one that requires every
multi-index attribute to be a concrete `IntegerAttr`, returning
`nullptr` for any other attribute (including null and PoisonAttr).
Fixes #178204
[mlir] Fix crash in testNoSkipErasureCallbacks on empty blocks (#183757)
The `noSkipBlockErasure` callback in `testNoSkipErasureCallbacks` called
`block->front().getParentRegion()` to get the parent region of a block.
This dereferences the ilist sentinel node when the block has no
operations, triggering an assertion failure.
Use `block->getParent()` instead, which directly returns the region
containing the block without requiring any operations to be present.
Fixes #183511
[mlir][test-ir-visitors] Fix noSkipBlockErasure crash with block args used across blocks (#183828)
The noSkipBlockErasure callback in TestVisitors.cpp dropped uses of op
results within the same region before erasing a block, but did not drop
uses of the block's own arguments (e.g. function entry block arguments).
When the block was subsequently erased its block arguments were
destroyed while their use-lists were still non-empty, triggering the
assertion in IRObjectWithUseList::~IRObjectWithUseList().
Fix this by also iterating over the block's arguments and dropping any
uses that belong to the same parent region. This mirrors the existing
logic for op result uses and makes the block-erasure walk handle IRs
where function arguments are consumed by ops in sibling blocks.
Also replace `block->front().getParentRegion()` with
`block->getParent()` for robustness (avoids UB when the block has no
ops).
Add a regression test based on the reproducer from
[2 lines not shown]
[mlir][tensor] Fix crash in expand_shape fold with dynamic result type (#183785)
`foldReshapeOp` (in `ReshapeOpsUtils.h`) and `FoldReshapeWithConstant`
(in `TensorOps.cpp`) both tried to create a new `DenseElementsAttr`
constant when folding a reshape op whose operand is a constant. Neither
checked that the result type was statically shaped before doing so, but
`DenseElementsAttr::reshape()` and
`DenseElementsAttr::getFromRawBuffer()` both assert `hasStaticShape()`.
Guard both fold paths with a `hasStaticShape()` check so they return
early when the result type contains a dynamic dimension.
Fixes #177845
[CMake][LLVM] Disable PCH on Clang for file with custom flags too (#183813)
Precompiled headers are already skipped when building ConstantFolding.cpp with MSVC, they cause problems with Clang too so disable it there the same way.
[ARM][MVE] Add SLI and SRI recognition. (#183471)
This uses the newly added code from #182051 to optimize to MVE sli and
sri. The only major difference is the legal types supported, but we also
lower intrinsics via VSLIIMM/VSLIIMM, so that only one tablegen pattern
is needed.
x11/kitty: Use BUILD_DEPENDS= x11-fonts/nerd-fonts-symbols
- The build dependency x11-fonts/nerd-fonts was split into subports in
commit 5ab056a5f85f709d8a6d7eb6582a94c85df37de5. Kitty requires only
the Symbols font, so the port can switch to the more lightweight
subport.
- Don't bump PORTREVISION because the resulting package does not change.
PR: 293280
[llvm][DebugInfo] Bump DWARFListTable maximum DWARF version (#183859)
Bumps `.debug_rnglists` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Added unit-test since there was no prior test in the entire LLVM
test-suite that checked this.
[llvm][DebugInfo] Bump DWARFDebugLine maximum DWARF version (#183841)
Bumps `.debug_line` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
[llvm][DebugInfo] Bump DWARFContext maximum DWARF version (#183838)
In order to start testing DWARFv6 feature support we need to bump this
version for tooling to work.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
mirrors: remove ftp.at.FreeBSD.org
After ~13 years of running the ftp.at.freebsd.org community mirror is
shutting down at the end of March. Remove it from the documentation.
Reported by: Klaus P. Ohrhallinger <k at 7he.at>
bsdinstall: remove ftp.at.freebsd.org
After ~13 years of running the ftp.at.freebsd.org community mirror is
shutting down at the end of March. Remove it from the mirrorselect
script.
Reported by: Klaus P. Ohrhallinger <k at 7he.at>