[clang][docs] Add documentation for the DanglingPtrDeref checker (#216688)
In order to move the `DanglingPtrDeref` checker out of alpha it needs a
documentation the user can get information from. This PR added the
documentation for the `DanglingPtrDeref` checker and follow up PR will
also do the same for the `UseAfterLifetimeEnd` checker. Currently the
documentation sits in the `alpha.core` category, but once we move the
checker out of alpha stage it should be changed as well.
AI-policy: After I have written the documentation I verified my
spellings, grammar with AI.
[VectorCombine] Reject out-of-bounds extract indexes in scalarizeExtExtract (#218984)
Fixes #218724.
An out-of-bounds `extractelement` produces poison in LLVM IR.
`VectorCombine::scalarizeExtExtract` currently matches constant-index
extracts without checking that the index is within the vector bounds.
For a sufficiently large out-of-bounds index, `scalarizeExtExtract` uses
the index to compute a shift amount for the packed integer
representation. The resulting constant can exceed the bitwidth of the
packed type, causing an `APInt` assertion in `ConstantInt::get`.
This patch adds a bounds check in `scalarizeExtExtract` and bails out
when the extract index is out of range, avoiding the invalid shift
construction.
The regression test uses the reduced reproducer from #218724.
Re-apply "[PromoteMemToReg] Insert store undef when removing lifetime markers" (#218935)
Reapplies #191909 / reverts #218804
Re-apply as-is. The issues were downstream and have been since fixed.
18322 virtio: add support for VIRTIO_F_RING_EVENT_IDX
18368 virtio can fail to notify the device when flushing a queue
18369 virtio: VIRTQ_DMA_SYNC_FORKERNEL computes a garbage length
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
lldb: Linux: delete Ptrace.h pollyfill (#218045)
As the comment in sources alludes to:
> System includes - They have to be included after framework includes
because
> they define some macros which collide with variable names in other
modules.
These collisions would ideally not happen, but they are unlikely to be
fixed any time soon. The workaround is to define what we need in the
places that we need it. This was done in a previous commit and so the
header can now be removed.
Link: https://github.com/llvm/llvm-project/pull/217435
Fixes: https://github.com/llvm/llvm-project/issues/217413
mail/dbmail: unbreak build after a315965d7d62ea69f5aed95c37e7ad36c900dc61 (+)
Restore version for libzdb.so.19 dependency checks to avoid name conflict
with base libzdb.so from recent ZFS presented at least on 15.x and -current
% pkg which /usr/lib/libzdb.so
/usr/lib/libzdb.so was installed by package FreeBSD-zfs-dev-16
mail/dbmail: unbreak build after a315965d7d62ea69f5aed95c37e7ad36c900dc61 (+)
Restore version for libzdb.so.19 dependency checks to avoid name conflict
with base libzdb.so from recent ZFS presented at least on 15.x and -current
% pkg which /usr/lib/libzdb.so
/usr/lib/libzdb.so was installed by package FreeBSD-zfs-dev-16
[TableGen] Remove unnecessary sorts from writeToStream in InfoByHwMode subclasses. NFC (#218977)
The underlying map is already sorted by mode, so we can iterate over it.
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
18294 POSIX Program including ucontext.h does not build
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Approved by: Dan McDonald <danmcd at edgecast.io>