ipfw: add ability to run ipfw(8) binary with 15.0+ kernel module
After D46183 the KBI was changed and this made the upgrade procedure
to 15.0+ version a bit difficult, because the old binary can not load
firewall rules when the new kernel is loaded.
This commit adds the sbin/ipfw15 binary that uses new KBI, and then
original sbin/ipfw can detect new KBI and run the new binary instead.
PR: 291562
Reviewed by: jhb, glebius
Fixes: 4a77657cbc01
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D54763
[NFC][analyzer] Get rid of imaginary friends (of classes) (#180188)
These NodeBuilder classes were deleted from the codebase in 2011
(fifteen years ago!) by 3eae33412d18c4a4a4a8592898b3e65ad5946a89 so
don't declare them as friends.
[cross-project-tests][lldb] Further relax llvm::Expected test assertions
Fixes following error on macOS:
```
CHECK-NEXT: (llvm::SmallVector<int, 2>) value = size=2 {
^
<stdin>:41:65: note: scanning from here
(llvm::Expected<llvm::SmallVector<int, 2> &>) ExpectedVecRef = {
^
<stdin>:42:31: note: possible intended match here
(std::__1::reference_wrapper<llvm::SmallVector<int, 2> >::type) value = size=2 {
```
[libc++] Prepare for PR #134330 by migrating to std::__static_fancy_pointer_cast (#180546)
To reduce the noise in #134330 for `libcxx/include/__tree`, we migrate
from certain `static_cast` to `std::__static_fancy_pointer_cast` in this
separate patch.
This change is needed to properly work with fancy pointers like
`min_pointer` during constant evaluation for `std::map`
Co-authored-by: Joseph Huber <huberjn at outlook.com>
[Flang][OpenMP] Fix crash with character types in declare_reduction (#178038)
Fixes #177501
This PR fixes a compilation crash when using character types in OpenMP
REDUCTION clauses with declare_reduction directives.
The problem was that character types weren't being handled properly
during OpenMP lowering. Specifically:
- Missing character length parameters in hlfir.declare operations
- Incorrect type wrapping for by-ref reductions
- Missing special case handling for boxed/unboxed character types
The fix ensures character types are treated similarly to derived types
throughout the reduction pipeline, since fir::isa_trivial() excludes
them.
Added a regression test to verify the fix works for both allocatable and
non-allocatable character reductions.
[2 lines not shown]
[SPIRV] Add a `SPIRVTypeInst` type with some guardrails
Currently `SPIRVType` is an alias of `MachineInstr`:
```cpp
using SPIRVType = const MachineInstr;
```
Consider the function below from the backend:
```cpp
inline Register getTypeReg(MachineRegisterInfo *MRI, Register OpReg) {
SPIRVType *TypeInst = MRI->getVRegDef(OpReg);
return TypeInst && TypeInst->getOpcode() ==
SPIRV::OpFunctionParameter
? TypeInst->getOperand(1).getReg()
: OpReg;
}
```
[10 lines not shown]
databases/p5-Redis-Fast: Add workaround to work without security/p5-IO-Socket-SSL
Bareword "IO::Socket::SSL::SSL_VERIFY_NONE" not allowed while "strict subs" in use at /usr/local/lib/perl5/site_perl/mach/5.42/Redis/Fast.pm line 246.
Bareword "IO::Socket::SSL::SSL_VERIFY_PEER" not allowed while "strict subs" in use at /usr/local/lib/perl5/site_perl/mach/5.42/Redis/Fast.pm line 247.
Bareword "IO::Socket::SSL::SSL_VERIFY_FAIL_IF_NO_PEER_CERT" not allowed while "strict subs" in use at /usr/local/lib/perl5/site_perl/mach/5.42/Redis/Fast.pm line 248.
Bareword "IO::Socket::SSL::SSL_VERIFY_CLIENT_ONCE" not allowed while "strict subs" in use at /usr/local/lib/perl5/site_perl/mach/5.42/Redis/Fast.pm line 249.
BEGIN not safe after errors--compilation aborted at /usr/local/lib/perl5/site_perl/mach/5.42/Redis/Fast.pm line 280.
Upstream issue: https://github.com/shogo82148/Redis-Fast/issues/155
PR: 293066
[CIR] Refactor tests for SVE svdup builtins (#180559)
[CIR] Refactor tests for SVE svdup builtins
Refactor the SVE svdup builtin tests to focus on aspects that are unique to
their code generation: namely, that the expected LLVM SVE intrinsic (or
intrinsics) is emitted. Other codegen details (such as stack allocations
or temporary materialization) are intentionally not checked, as they are
not part of the builtin-specific codegen logic, but rather generic
Clang/CIR lowering behavior.
The generated CIR remains unchanged, but the CHECK lines are simplified
to only match the intrinsic calls, e.g.:
```mlir
cir.call_llvm_intrinsic "aarch64.sve.<intrinsic-name>"
```
For the LLVM IR checks, the tests now run `opt -passes=sroa` to eliminate
[13 lines not shown]
[LV] Handle partial sub-reductions with sub in middle block. (#178919)
Sub-reductions can be implemented in two ways:
(1) negate the operand in the vector loop (the default way).
(2) subtract the reduced value from the init value in the middle block.
Note that both ways keep the reduction itself as an 'add' reduction,
which is necessary because only llvm.vector.partial.reduce.add exists.
The ISD nodes for partial reductions don't support folding the
sub/negation into its operands because the following is not a valid
transformation:
```
sub(0, mul(ext(a), ext(b)))
-> mul(ext(a), ext(sub(0, b)))
```
It can therefore be better to choose option (2) such that the partial
reduction is always positive (starting at '0') and to do a final
subtract in the middle block.
[9 lines not shown]
[NFC] Modify the comment of LoopRotate param (#180675)
The first param of LoopRotatePass is EnableHeaderDuplication. The value
'true' means 'enable the header duplication'.
`LoopRotatePass(bool EnableHeaderDuplication, bool PrepareForLTO)`
---------
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
[flang] Fix -debug crash from VScaleAttrPass (#180234)
This pass splits up the `vscaleRange` pass-option from the
`VScaleAttrPass` into `vscaleMin` and `vscaleMax` respectively, since a
`std::pair<>` cannot be used as a cli-option and crashes when running
`flang -march=rv64gcv -O3 file.f90 -mmlir -debug`.
Since the options can now be set individually I added some error
checking following the semantics described in the langref
https://llvm.org/docs/LangRef.html#function-attributes.
I also added tests since there were none for only this pass before.