Reapply "[LV] Model memory runtime checks for inner loops of loop (#237464)
This reverts commit 7a0edec33d6ae6a00f3b1c276efa4bf152210235 (#237453)
The recommitted version replaces an assertion with proper handling for
VPExpandSCEVRecipe.
They compare equal regardless of ExpandInIR, but if there is a mismatch,
only the one with ExpandInIR=false can be replaced by one with
ExpandInIR=true, not the other way around.
Original message:
Remove the restriction that kept the IR-generated memcheck block for
loops with a parent loop. When hoisting runtime checks, they are
rewritten so they hold across the outer loop and are expanded before the
entry block to the VPlan, using the regular IR expander.
This patch exposes getRuntimeCheckBounds, which does the rewrite, and
marks such rewritten bounds as requiring expansion in IR. VPSCEVExpander
takes a loop as optional argument and uses VPExpandSCEVRecipes for
expressions that are invariant in the loop.
rpc.tlsservd.c: Check the malloc return
The NULL return is used by the following memcpy()
call. Fail the request instead.
Unlikely to happen in practice, since the rpc.tlsservd
daemon runs as root and does not allocate a lot or memory.
Reviewed by: rmacklem
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D60927
[tsan] Calibrate jmp_buf pointer mangling (#216558)
glibc 2.44 moved the pointer guard out of the TCB and added the
x86-style rotation on other mangling targets. TSan hardcodes the old
guard locations and transformations, so longjmp interception can no
longer recover the saved stack pointer.
Derive the identity, XOR, or XOR-and-rotate scheme from two _setjmp
probes at different stack depths. This supports old and new glibc and
preserves bionic lazy initialization without depending on private guard
storage.
Developed with Fable/Sol. Tested locally on 64-bit Arch Linux, which
already ships glibc 2.44. Without this change, eight existing TSan tests
fail with `ThreadSanitizer: can't find longjmp buf`; with it, the full
`check-tsan` suite passes.
Fixes #216004.
[Matrix] Create the copy alloca once in getNonAliasingPointer (NFC). (#237455)
Both the different address space path and the runtime alias check path
create the same alloca in the entry block. Create it once up front.
[KnownFPClass][NFC] Apply denormal modes inside KnownFPClass functions (#237084)
Converts remaining `KnownFPClass` functions over to the
`applyInputDenormalMode` and `applyOutputDenormalMode` helpers. This
also switches `isKnownNeverLogicalZero(Mode)` to `isKnownNever(fcZero)`.
`KnownFPClass::canonicalize` will be handled in a separate PR.
[KnownFPClass] Rule out non-zero finite results for fmul and fdiv (#231052)
Follow up to https://github.com/llvm/llvm-project/pull/229638
A normal or subnormal result of `fmul`/`fdiv` requires both operands to
be non-zero finite values. In other words, we don't care if either side
could be zero, inf, or NaN when ruling out normal/subnormal values.
dns/hesiod: Mark DEPRECATED
This version has multiple vulnerabilities (CVE-2016-10151, CVE-2016-10152)
PR: 300135
Approved by: Chris Hutchinson <portmaster at BSDforge.com> (former maintainer)
Approved by: osa, fluffy (mentors, implicit)
MFH: 2026Q4
(cherry picked from commit 9367f6ba7be9aa5f85602512b47ada8277802ae7)
dns/hesiod: Mark DEPRECATED
This version has multiple vulnerabilities (CVE-2016-10151, CVE-2016-10152)
PR: 300135
Approved by: Chris Hutchinson <portmaster at BSDforge.com> (former maintainer)
Approved by: osa, fluffy (mentors, implicit)
MFH: 2026Q4
Revert "[LV] Model memory runtime checks for inner loops of loop nests in VPlan." (#237453)
Reverts llvm/llvm-project#232794
Breaks bots, see llvm/llvm-project#232794.