[llvm][ADT] Remove function_ref equality operator (#220600)
The equality operator no longer has in-tree users.
TableGen replaced its function_ref callback wrapper with its own FnT.
Assisted-by: Codex
[GlobalISel] Remove dead declarations and functions (NFC) (#220499)
CombinerHelper::tryCombine: The corresponding function definition was
removed on September 24, 2023 in commit
bc6e7f057340ab0b995cc17a170e34545a295f03.
GISelValueTracking::getKnownBits(MachineInstr &): Added on August 6,
2019
in commit c8ac029d0ae27b8fd392f216d471ba2730be7fd1 without any callers.
GISelValueTracking::computeKnownBitsForAlignment: The last use was
removed on June 3, 2020 in commit
45e1a22a92bf2c33336ccc02ea4fa3996f60252b.
LegalizerHelper::lowerU64ToF32BitOps: The last use was removed on
September 25, 2024 in commit e9cb44090ff7b3feda386ca1ee1252ab47c0617e.
Assisted-by: Antigravity
[VectorCombine] Avoid calling getTypeSizeInBits on scalable vectors in scalarizeLoadBitcast (#220482)
Avoids `LLVM ERROR: Cannot implicitly convert a scalable size to a
fixed-width size in TypeSize::operator ScalarTy()`
syslogd: reap pipe children on config reload
On SIGHUP reload, closelogfiles() frees each F_PIPE filed even when its
pipe process is still running. close_filed() sets f_type to F_UNUSED
before the check, so the condition f_type != F_PIPE is always true and
the filed is freed while its process descriptor is still on the dead
queue and registered in the kqueue. When the child later exits, the
NOTE_EXIT handler dereferences the freed filed (use-after-free) and
never closes the process descriptor, leaving the pipe child as a
persistent zombie.
Capture whether the filed is a pipe with an active process descriptor
before calling close_filed(), and defer the free in that case so the
NOTE_EXIT handler can reap the child and free the filed.
Reviewed by: markj
Fixes: 95381c0139d6 (syslogd: Use process descriptors)
Differential Revision: https://reviews.freebsd.org/D59319
[AArch64][GlobalISel] Add tablegen patterns for smull+sqshrn -> sqdmulh. (#217318)
We do this in parts in globalisel, recognizing the smull and trunc_sat,
which when combined with the correct shift can fold into a single
sqdmulh.
[MachineFunction] Print type when printing constant pool value. (#220485)
Previously we printed something like `cp#2: splat (i8 -8), align=64`
which doesn't give any indication of total size.
This would have made debugging
https://github.com/llvm/llvm-project/pull/220448 easier.