[InstCombine] Remove redundant separate_storage assumes (#233736)
When it can already be proven that two pointers don't alias without the
`separate_storage` assume there is no point in keeping
`separate_storage` assumptions around.
[AMDGPU] Restore gfx90a predicate on V_MUL_LEGACY_F32_e64_gfx90a. NFCI. (#232035)
#116288 removed both the AssemblerPredicate and SubtargetPredicate of
isGFX90APlus that applied to V_MUL_LEGACY_F32_e64_gfx90a, leaving it
with no predicates at all. Since it has a different encoding from the
GFX6-GFX10 versions of v_mul_legacy_f32_e64, this meant that the asm
matcher could have selected the wrong encoding on those targets. It
only selected the right one because V_MUL_LEGACY_F32_e64_gfx90a is
defined last.
Restore an AssemblerPredicate of isGFX90APlus on just this instruction,
and fix the stale closing comment on the let block that used to set it
for all of the gfx90a multiclasses.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
security/py-netmiko: Update to 4.8.0
* Add option BULK-ENCRYPT and make it the default as well, because the
dependency for this has been in use for quite some time and only
became optional with this version.
* Remove no longer required patch.
Changelog:
https://github.com/ktbyers/netmiko/releases/tag/v4.8.0
use getDeviceBlockLimit instead of OMP_NUM_TEAMS
Trade threads for blocks only while the doubled number of blocks stays within
the device's block limit, which OMP_NUM_TEAMS may lower, instead of not trading
at all if OMP_NUM_TEAMS is set. This keeps every trade a pure one and leaves
getDeviceBlockLimit as it was.
Claude assisted with this patch.
databases/p5-DBD-cego: update 1.5.10 -> 1.5.11
- Patch added for parameter quoting.
Parameters have been quoted in the bind method, but this must be
either done in execute. Otherwise, no parameter quoting will be done
for direct execute calls ( e.g. $sth->execute($p1, $p2) )
[flang][MIF] Adding lowering for EVENT POST/WAIT statements (#210283)
Add lowering of EVENT POST and EVENT WAIT statements to the MIF dialect
(mif.event_post / mif.event_wait), and lowering of coarray references in
hlfir.designate.
- The event variable is passed to PRIF together with the byte offset of
the event inside its coarray, computed in MIFOpConversion
- The default initialization of event_type coarrays after
prif_allocate_coarray.
- Add lowering tests for EVENT POST / WAIT.
Nonallocatable coarrays are allocated by PRIF, so their storage is on
the heap. This
patch lowers them like allocatable variables:
- `ConvertTyp`e: the type of a coarray is now a !fir.box<!fir.heap<...>,
corank:N> so every descriptor for coarrays carries
CFI_attribute_allocatable.
[12 lines not shown]
Only use the user's home directory for host web shells
## Problem
Container, app and VM web shells opened by a non-root user got that user's host home directory as HOME, and the shell child started in it. Inside containers this pointed $HOME and ~ at a host path, so the image's root dotfiles were not used.
## Solution
Pass the shell type to the worker thread and use it for both the command and the environment. Host shells keep the user's home as HOME; container, app and VM shells get /root. The shell child always starts in /root, since login changes into HOME itself for host shells.
NAS-144247 / 28.0.0-BETA.1 / Manage container NICs explicitly instead of adding one on the fly (#20059)
## Problem
A container without a NIC device row got an implicit bridge NIC with no
MAC added on the fly at every start, so libvirt generated a new MAC each
time and the container came up with a different DHCP address after every
restart. Containers migrated from incus are usually in this state
because their eth0 came from the incus profile. Beyond the MAC churn,
silently attaching a NIC the user never configured isn't always what
users want.
## Solution
Container networking is now managed explicitly through NIC devices.
- **No implicit NIC**: a container only has network through its NIC
devices, and one without any gets a private namespace with only
loopback. This relies on truenas/truenas_pylibvirt#97 emitting
`<privnet/>` for such containers, so that has to land first.
`default_network` is dropped from the v28 container entry since it no
[15 lines not shown]
[NFC][analyzer] Replace generateErrorNode with addSink (#235749)
This change replaces use of `CheckerContext::generateErrorNode` with
`getSink`, then deletes `generateErrorNode`. Textually replacing
`generateErrorNode` with `addSink` will correctly update _most_
downstream checkers; but calls of the form `C.generateErrorNode(State,
Tag)` (if there are any – there wasn't any in upstream) would need to be
updated to `C.addSink(State, C.getPredecessor(), Tag)`.
This change was motivated by the fact that `addSink` and
`generateErrorNode` did the same thing, so their separate existence
caused lots of confusion (e.g. it implied that an "error node" is
somehow different from a regular node, which was completely false).
`generateErrorNode` was the more widespread among them (roughly 80 vs 40
call sites in checkers), but its name isn't suitable for the dozens of
cases where the sink is not used for an "error" (bug report), so I
decided to keep `addSink` as the only sink-making method.
[3 lines not shown]
[clang][CodeGen] Use the primary base chain for virtual method IDs
Identify a virtual method in the call graph section after the method it
overrides along the primary base chain of its class, as given by the record
layout. That is the vtable entry the method is placed in, which is not always
the first method it overrides.
Assisted-by: Jetski