[DAGCombiner] Fix crash caused by illegal InterVT in ForwardStoreValueToDirectLoad (#181175)
This patch fixes an assertion failure in ForwardStoreValueToDirectLoad
during DAGCombine.
The crash occurs when `STLF (Store-to-Load Forwarding)` creates an
illegal intermediate bitcast type (e.g., `v128i1` when bridging a
128-bit store to a `<32 x i1>` load on X86). Since `v128i1` is not a
legal mask type for the backend, it violates the expectations of the
LegalizeDAG pass.
The fix adds a `TLI.isTypeLegal(InterVT)` check to ensure that the
intermediate type used for the transformation is supported by the
target.
Fixes #181130
[Clang][inlineasm] Add special support for "rm" output constraints (#92040)
Clang isn't able to support multiple constraints on inputs and outputs,
like "rm". Instead, it picks the "safest" one to use, i.e. the memory
constraint for "rm". This leads to obviously horrible code:
asm __volatile__ ("pushf\n\t"
"popq %0"
: "=rm" (x));
is compiled to:
pushf
popq -8(%rsp)
movq -8(%rsp), %rax
It gets worse when inlined into other functions, because it may
introduce
a stack where none is needed.
[16 lines not shown]
Do not ever apply password aging rules to root
When STIG mode is enabled we enforce password aging rules,
among other things, an expired account will fail internal
pam_acct_mgmt calls (even through unix authentication).
Password aging rules are a separate account control mechanism
from disabling a password (* in the shadow file) and should
not be applied ever to the root account. The proper STIG
mode configuration should be having password disabled for
root, but never allowing the account to age out. The reason
for this is that there are various local processes that
use the root account, and require pam_acct_mgmt to succeed:
for example, cronjobs will login() as root to perform tasks.
This commit ensures that the root account will never have
password aging rules applied.
databases/redis84: New port
This is the redis 8.4.X branch of redis copied from databases/redis in
preparation for upgrading redis to redis 8.6.X branch.
databases/redis84: New port
This is the redis 8.4.X branch of redis copied from databases/redis in
preparation for upgrading redis to redis 8.6.X branch.