Reapply "[InstCombine] Merge consecutive assumes", round 3 (#225380)
This patch was reverted due to triggering another bug. That bug should
be fixed now, so this should be ready to land again.
Original commit message:
This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are limited
in how many instructions they step through.
This reverts commit 630125ac5be7dab26fcfba8918ee091588616f21.
[IR][GC] Remove leftover typed pointer handling for gc.relocate (#235783)
There is various handling for pointer bitcasts of the result, which can
be dropped now that we have opaque pointers and the verifier ensures
that the return type of gc.relocate returns the same type as the derived
pointer. The verifier is adjusted to check that explicitly -- the
previous check incorrectly allowed the types to differ in element count.
LLM generated patch.
[Clang][ABI][X86] Don't extend _BitInt returns to 64-bits (#234872)
For X86, _BitInt(N) with N <= 32 is passed iN, while for 32 < N <= 64
it's passed as i64. I don't think there is any good reason for this
difference in behavior, and we should always use iN.
Nominally, this does not change the ABI. The previous Direct pass as i64
implied that the high bits are unspecified. In practice, the callee
zero-extended the value (independent of _BitInt signedness), but the
caller did not rely on that zero-extension. With CIR it was zero or sign
extended, depending on signedness. Both are ultimately correct (because
the high bits are unspecified).
This still leaves behind a peculiarity for 64 < N < 128, which gets
returned as `{ i64, i64 }`, until we reach N=128, when it switches to
`i128`. I believe all of those should also use iN, but I'll leave that
for a separate change. I'm also not changing argument passing here.
Followup to https://github.com/llvm/llvm-project/pull/232729.
py-uv py-uv-build: updated to 0.13.6
0.13.6
Enhancements
Accept an empty UV_RUN_RECURSION_DEPTH as zero and report invalid values consistently
Explain how to add project metadata when uv init finds a pyproject.toml without a [project] table
Python
Add CPython 3.11.18, 3.12.16, 3.13.18, 3.14.10, and 3.15.2
Preview features
Detect NVIDIA GPU capabilities when selecting compatible wheel variants with wheel-variants
Nest each module's owners in an object in uv workspace metadata output
Report the unsupported properties required by an incompatible wheel variant
[23 lines not shown]
kea: add daemon supervisor support
Kea differs from the other supervised services because keactrl is a short-lived dispatcher which starts several independent daemons in the background. Supervising keactrl itself would only restart the dispatcher, risk duplicate start attempts, and leave daemon(8) unable to distinguish an intentional child stop from a failure.
Extend the shared supervisor helper with reusable profile dispatch. The Kea rc.d wrapper obtains each component command, configuration and enabled state from keactrl.conf, then starts the profile either through daemon(8) or through the native keactrl profile command. Stop checks every supervisor before delegating to the native script, so changing the option cannot leave a supervisor behind; native reload and status continue to use the Kea PID files.
Expose Restart on failure independently for DHCPv4, DHCPv6, DHCP DDNS and the Control Agent. Unchecked profiles retain their existing lifecycle, supervised and native profiles can be mixed, and the default configuration remains unchanged.
[mlir][NFC] Fix some different sign comparison warnings (#234999)
I saw these doing a build on Arm 32-bit, but I don't think they're
specific to it.
* OperationSupport.h: std::distance returns a signed type but
kSmallAttributeList is unsigned. I assume first is always before last,
so it's safe to cast std::distance to size_t.
* In MemRefOps.cpp: srcStaticCount is created using llvm::count_if, but
the type is changed. Then later compared to another llvm::count_if.
Fixed that by using auto to keep the same type.
* ModuleTranslation.cpp: numArguments is unsigned, and by using
llvm::range_size we get a size_t we can compare to.
[AMDGPU] Update check lines with extra text at the start or end. NFC. (#236029)
This comes from re-autogenerating the checks, but only committing a
specific kind of change where the check line gets extra text at the
start or end. These are cases where the existing check line only worked
because it did not have {{^}} or {{$}} anchors.
ocs_fc: Fix config space bounds, double PRLI response and a stack overflow
Fix three unrelated problems found by security review of the driver.
ECD helper ioctl:
- OCS_ECD_HELPER_CFG_READ* and OCS_ECD_HELPER_CFG_WRITE* passed a user
supplied offset straight to pci_read_config() and pci_write_config().
Reject accesses that extend past PCIE_REGMAX, so that a wide access
starting in range cannot run past the end of config space.
- Use the real access width (1, 2 or 4 bytes) of the command for both
the BAR and the config space checks, rather than assuming 4 bytes, so
that narrow accesses at the very end of the BAR or config space are
not rejected while wider ones remain bounded.
PRLI:
- When a PRLI carries an FC-4 type other than the one the driver
supports, ocs_d_send_prli_rsp() sent an LS_RJT and started node
shutdown, but then fell through and sent a second response on the same
IO (another LS_RJT, or a PRLI LS_ACC when the initiator is accepted),
[19 lines not shown]