[VPlan] Expand simple SCEVs directly to VPInstructions. (#189455)
Add initial simple SCEV expansion directly to VPInstructions. To start
with, just support expanding SCEV expressions for the vector step (VF *
UF). This requires expanding VScale, constants and multiply expressions.
This allows enables CSE for some redundant vscale calls as first step
and also enables expanding SCEV expressions in blocks other than the
header as follow-ups. For example, this could be useful to avoid some
code movement with https://github.com/llvm/llvm-project/pull/189372.
[ARM] Reject unencodable Thumb2 LDRD/STRD post-index offsets (#197228)
Thumb2 post-index LDRD/STRD immediates are encoded as scaled-by-4
values. Without the Imm8s4 parser class, plain assembly can accept byte
offsets that cannot be represented exactly.
Reject those operands during asm matching so invalid input does not
reach later MC paths where debug builds assert and release builds can
silently encode the rounded-down value.
The t2am_imm8s4_offset_asmoperand parser is updated to accommodate
constructs such as #-0 which preserve the negative sentinel on the zero.
[X86] Remove extra MOV after widening atomic store
This change adds patterns to optimize out an extra MOV present after
widening the atomic store. Covers <2 x i8> (SSE4.1+), <2 x i16>,
<4 x i8>, <2 x i32>, <2 x float>, <4 x i16>, <2 x ptr addrspace(270)>.
Services: Kea DHCPv6: Always start the prefix watcher when DHCPv6 is enabled. A reservation with a prefix but without a configured pd_pool is also valid, it's more pragmatic to allow it than doing some complex validation gymnastics to prevent it. (#10329)
[GlobalISel] Replace `GIM_CheckFeatures` with `GIM_Try_CheckFeatures`
This has two benefits. First, it slightly reduces the size of the match table.
Secondly, if the target feature is not present, we can directly go to the fail
case, instead of having to do another loop of the interpreter, speeding up
rejection of rules that do not have the required target feature.
We could do the same with CheckSimplePredicate but it's less used (only in the combiners I think)
so it is less of a priority.
```
FILE OLD NEW DIFF% SAME?
---- ------- ------- ----- -----
AArch64GenGlobalISel.inc 192681 185938 -3,5% no
AArch64GenPostLegalizeGICombiner.inc 4457 4457 0,0% yes
AArch64GenPreLegalizeGICombiner.inc 9010 9009 -0,0% no
AMDGPUGenGlobalISel.inc 596402 568486 -4,7% no
AMDGPUGenPostLegalizeGICombiner.inc 9240 9238 -0,0% no
AMDGPUGenPreLegalizeGICombiner.inc 8987 8987 0,0% yes
[2 lines not shown]
[NFC][HIP][SPIRV] Revert the disablement of untyped ptrs (#198428)
This exposes issues in the translator, and is also not the path we're currently exercising, hence we should revert to the known good state.
Services: Kea DHCPv6: Always start the prefix watcher when DHCPv6 is enabled. A reservation with a prefix but without a configured pd_pool is also valid, it's more pragmatic to allow it than doing some complex validation gymnastics to prevent it.
py-numpy: updated to 2.4.6
2.4.6
MAINT: Prepare 2.4.x for further development
BUG: Fix regression in ``arr.conj()``
BUG: ``np.linalg.svd(..., hermitian=True)`` returns non-unitary...
[IR] Store fast-math flags in subclasses of Instruction (#191190)
Move fast-math flags out from `Value`, because we are out of space of
`Value::SubclassOptionalData` and it is incompatible with other
optimization flags like `nneg`.
FP variant for `call/select/phi` is not introduced, because of
`mutateType`, it may change the type of the `Instruction` instance,
which may cause UB.
RFC:
https://discourse.llvm.org/t/rfc-store-fast-math-flags-in-subclasses-of-instruction/
ipfw: fix IPv6 flow label matching
* do not require just only ip6 proto for flow-id opcode in ipfw(8).
ipv6-icmp, tcp, udp should be fine too.
* fix off-by-one bug leading to out-of-bounds read.
* apply IPV6_FLOWLABEL_MASK before comparison in flow6id_match(),
so flow-id opcode will match a specified flow label. No need to
take protocol version and traffic class into account.
* add the test to verify that opcode is working correctly.
Reviewed by: pouria
Obtained from: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D56869
(cherry picked from commit 3d39eadcdeb301e95abdc94b1ad5d1255fa0f446)