Reapply "[VPlan] Refine hasEarlyExit check." (#207838) (#208518)
This reverts commit b69ec1023d6604106cb64f9a6a6b04e9c3e5d533.
Recommit with small fix for potential nullptr dereference.
Original message:
Currently hasEarlyExit misses cases where we have things like dead exit
blocks or simplified the middle block.
Update to check by counting the predecessors.
This fixes a case where we missed properly updating LoopInfo due to
incorrect results.
Fixes https://github.com/llvm/llvm-project/issues/206007.
Ensure truenas_zfstierd state on failover
Regenerate the truenas_zfstierd config on the promoted node: the
service now owns its etc group and vrrp_master restarts it, so an
enabled database no longer surfaces a spurious tiering-disabled
error to clients.
Materialize enum_jobs() in the tier alert source so per-job
get_info() no longer opens a second read transaction inside the
live iterator (MDB_BAD_RSLOT; LMDB allows one read txn per thread).
(cherry picked from commit 41b32455f38864877a1576100c139461d0df6c3d)
NAS-141711 / 27.0.0-BETA.1 / Ensure truenas_zfstierd state on failover (#19280)
Regenerate the truenas_zfstierd config on the promoted node.
Materialize enum_jobs() in the tier alert source so per-job get_info()
no longer opens a second read transaction inside the live iterator
(MDB_BAD_RSLOT; LMDB allows one read txn per thread per db).
[RISCV] Follow-up fix for UB in #208223 (#208507)
Fix the detected UB in the `stack_larger_than_signed_64bit_warning`
test-case. Now just checks that the warning is correctly not emitted.
net/kf6-kmime: Add new port
Library for handling MIME data.
This library is going to replace KDE PIM mime (net/kmime).
Do not connect it to the Uses/kde.mk yet.
WWW: https://invent.kde.org/frameworks/kmime
[SystemZ][Clang] Add support for the z/OS va_list type (#202397)
On z/OS, the user has a choice between two different va_list formats.
1. (default) uses the __builtin_zos_va_list typedef for va_list, being
added in this change
2. (-D_VARARG_EXT_) uses __builtin_va_list typedef for va_list.
The __builtin_zos_va_list type is `char * [2]`.
This PR adds this type along with the __builtin_zos_va_start(),
__builtin_zos_va_end() & __builtin_zos_va_copy() functions to go with
it.
runtimes: Don't set CMAKE_SYSTEM_NAME=Android
Cmake requires an NDK for android. Prior to 00b2f814182,
the default system name would be the host system. Take the
normal linux path, which is a more realistic approximation of
the old behavior.
[SBVec] Implement topDown/botUp vectorizers in unison
This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.
* vectorize in the same direction as the scheduler direction
* use AuxArg to determine vectorizer direction
* move user collection to VecUtils and add unit tests
* handle legality results
* introduce BundleTy and GetOpIdxVec
* introduce getNextBundles
[CodeGen] Mark weak vtables unnamed_addr on duplicable-vtable targets (#205930)
When a target's `getVTableUniqueness()` is `UniqueIfStrongLinkage`, as
on Apple Mach-O, the platform may emit a class's weak vtable as a
separate copy in more than one linkage unit. A symbol that can
legitimately exist at several addresses has no meaningful address, so
such a vtable can be marked `unnamed_addr`.
On Mach-O, a weak vtable that is `unnamed_addr` lowers to a
`.weak_def_can_be_hidden` definition, which the static linker coalesces
and then drops from the dynamic export trie. Keeping these vtables out
of the exported symbol set cuts the work dyld has to do at load time.
#200108 dropped `unnamed_addr` from vtables because the exact
`dynamic_cast` optimization compares an object's vtable pointer against
a known vtable address and depends on that address being unique. Adding
`unnamed_addr` is safe here because that optimization is never performed
for these weak vtables, so nothing relies on them having a unique
address.
rdar://179929460
pool: enforce vdev geometry limits and add force_topology
Enforce equal data-vdev width and cap RAIDZ/mirror width at
15/4 in pool.create and pool.update, mirroring truenas_pylibzfs.
Add force_topology (26 API) to bypass these topology policy
checks and the special/dedup redundancy rule; structural checks
still apply. Reject force_topology on Enterprise-licensed
systems.
(cherry picked from commit f07f7804cbb84ec1fe331e04485ec1b667dd3a2d)
NAS-141716 / 26.0.0-RC.1 / enforce vdev topology limits and add force_topology (#19282)
Enforce equal data-vdev width and cap RAIDZ/mirror width at 15/4 in
pool.create and pool.update, mirroring truenas_pylibzfs. Add
force_topology (26 API) to bypass these topology policy checks and the
special/dedup redundancy rule; structural checks still apply. Reject
force_topology on Enterprise-licensed systems.
[X86][AArch64][SPIRV] add more tests for `ldexp`/`frexp` (#208462)
In preparation of moving the implementation from `LegalizeDAG` into
`ExpandIRInsts`.
audio/plasma6-kpipewire: Update to 6.6.6.1
This release is to fix regression with ABI compatibility.
(cherry picked from commit 445d18a41e5517f6beb1f4ca9885d481aae9bbe7)
[clang][Sema] Deprecate `global`/`unknown` in `lifetime_capture_by` (#196635)
Earlier, special `lifetime_capture_by` spellings `global` and `unknown`
could conflict with actual parameter names, causing [some
code](https://godbolt.org/z/YWhW1dnoe) to fail to compile.
Because of that, we deprecate those parameters (they can probably be
removed in the near future)
#192102
Assisted-by: GPT-5.4 for cleanup
BPF: Fix misfolding subregisters
This would end up introducing a copy between registers
with mismatched sizes previously. Defends against verifier
failures in a future change.
The actual transform here should be deleted. Optimizations should
not be trying to introduce SUBREG_TO_REG.
generic_ehci_fdt: fix driver softc size
This subclass declares its own softc structure adding necessary members
after the embedded ehci_softc_t. The full size of the struct must be
included in the driver declaration, otherwise the allocation backing the
softc is not guaranteed to be large enough.
Reported by: KASAN
Reviewed by: jrtc27, manu
Fixes: 7a58744fd0f1 ("Split out the attachment from the generic-ehci driver")
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57951
(cherry picked from commit d5332d3a904242cb82e7dbf35e4aeec7c2df4402)
stand/libofw: make OF_hasprop() part of the library
Currently it is only needed by powerpc ofwfdt.c, and defined statically
there. Make it available as part of libofw, mirroring what we have in
the kernel.
Two small tweaks are made to the implementation:
1. Return type is changed to bool
2. Return 'true' when OF_getproplen() == 0. This matches the expected
semantics of the kernel version, described in OF_hasprop(9).
Reviewed by: manu, imp, adrian
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56429
(cherry picked from commit 48a05f833c7d0c089d37522cc234039ec823edf4)