[LLD][COFF] Fix the J1 and J2 bits of IMAGE_REL_ARM_BRANCH20T (#240559)
applyBranch20T put offset bit 19 into J1 and bit 18 into J2. In the T3
encoding of B<cond>.W the offset is S:J2:J1:imm6:imm11:'0', so it is the
other way round. A conditional branch whose offset had exactly one of
the two bits set landed 256 KB away from its target, and the link gave
no error.
Assisted-by: Claude Opus 5.5 (Anthropic)
[LV][NFC] Add vscale_range(1,16) attributes to some SVE tests (#239669)
I've added the vscale_range(1,16) to tests that use SVE in order to
ensure we are testing the same IR that clang would generate when
targeting a CPU with SVE, e.g.
clang -O3 -mcpu=neoverse-v1
In this PR I've limited the changes to those tests that have no impact
on the final IR.
[mlir][bufferization] Drop superfluous traits from to_tensor and to_buffer (#240087)
This change drops the `SameOperandsAndResultShape` and
`SameOperandsAndResultElementType` traits from `bufferization.to_tensor`
and `bufferization.to_buffer`.
These traits are superfluous for these ops and are leftover from before
their move into the bufferization dialect. The ops' contract is
`Bufferization_TensorAndBufferMatch`, which defers to
`TensorLikeType::verifyCompatibleBufferType` and enforces the shape
match between operands and results.
In addition to being superfluous, these traits are actually wrong now
because a tensor-like type need not be shaped at all and the traits
reject such a type before the compatibility check gets to decide.
Also adds tests that validate these ops work with unshaped types.
Assisted-by: Claude
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[mlir][bufferization] Let alloc_tensor copy tensor-like values into memrefs (#240102)
This change generalizes `bufferization.alloc_tensor`'s `copy` operand
and result type to `TensorLikeType`.
The `AllocTensorOp::getType` override returning `RankedTensorType` is
eliminated and places that demand a shape (size helpers, verifiers,
canonicalization, etc) now cast to `RankedTensorType` explicitly and
skip any other kind of result type. Verifier checks that result types
that are not a ranked tensor type take no dynamic sizes or size hint.
This generalization allows One-Shot Bufferize to copy tensor-like
values. `allocateTensorForShapedValue` and
`resolveTensorOpOperandConflicts` previously handled builtin tensors
only. With a `copy` operand, the allocation is sized from the `copy`.
Without one, a result that is not a ranked tensor is sized from its
buffer type, which must be static.
The allocation hook still takes `MemRefType`, so further generalization
[12 lines not shown]
py-tornado: updated to 6.6.1
What's new in Tornado 6.6.1
Security Fixes
- ``StaticFileHandler`` will no longer serve NTFS alternate data streams as if they were regular
files on Windows.
- ``SimpleAsyncHTTPClient`` no longer hangs and leaks resources when processing a redirect to
URL schemes other than ``http`` and ``https``.
- Parsing of percent-encoded data in URLs is much more efficient, preventing potential
denial-of-service attacks.
- Additional forms of open redirects in ``RedirectHandler`` have been fixed (in addition to
the ones fixed in 6.6.0)
- Open redirects in ``@addslash`` and ``@removeslash`` have been fixed.
Deprecation notice
- HTTP header parsing currently supports both CRLF and LF-only line endings. LF-only line endings
[8 lines not shown]
py-threadpoolctl: updated to 3.8.0
3.8.0
Run faster on Linux, where the new /proc/self/maps mechanism in 3.7.0 added quite a bit of overhead.
When OpenBLAS uses a non-OpenMP threading layer, you can only set the size of its thread pool from a single controlling thread; since it has a shared process-wide thread pool, having multiple Python threads fight over control wouldn't work well. A new API OpenBLASController.clear_controlling_thread() allows resetting which thread controlls OpenBLAS in these cases, and decorator and context manager limit APIs will automatically call that API when they are done.
Add a new API to get a cached ThreadpoolController instance (get_cached_controller()), as an optimization for cases where limits are set frequently. See the docstring for caveats.
Added official support for Python 3.15, and declared support for Python 3.14 in package metadata.
Faster performance when creating a ThreadpoolController.
Shared libraries are now cached across runs, whereas previously they would be unloaded after the ThreadpoolController was garbage collected.
A single shared library can no longer have multiple LibController instances.
When passing a list of dicts or a dict to threadpool_limits(limit=...) and related APIs, the "filepath" is used as the unique key identifying LibControllers, if available, falling back to "prefix". Previously the "prefix" was checked first.
[8 lines not shown]
redis: updated to 8.10.3
Redis 8.10.3
Update urgency: `SECURITY`: There are security fixes in the release.
Security fixes
- Heap buffer overflow when propagating a `PUBLISH`/`SPUBLISH` message larger than 4GB over the cluster bus in cluster mode
Redis 8.10.2
Update urgency: `SECURITY`: There are security fixes in the release.
Security fixes
- Commands queued in a transaction could still access keys whose ACL permissions were revoked before the transaction was executed
- The cluster bus protocol has no authentication of its own unless `tls-cluster` is enabled, so any host able to reach a node's bus port could join the cluster and threaten it. A cluster node now warns at startup when its bus port is left unauthenticated, and the new `cluster-bus-port-protected-mode` option (default `no`) makes refusing to run in that state an explicit choice: set it to `yes` and the node starts only when `tls-cluster` authenticates the bus
[3 lines not shown]
repmgr: updated to 5.5.1
5.5.1
Release on new platforms Debian 13 and RHEL 10
Security fix: properly escape values substituted into externally-configured notification commands
[flang] Run allocation-placement in place of the legacy placement passes (#239263)
Intermediate step in RFC [Improving temporary and local array
allocations - unify
StackArray/MemoryAllocation](https://discourse.llvm.org/t/rfc-flang-improving-temporary-and-local-array-allocations-unify-stackarray-memoryallocation/91353
). This patch update the allocation-placement pass to have a legacy mode
which removes the need for the StackArray/MemoryAllocation passes while
preserving the most of behavior for now (see below for the few
differences).
In legacy mode, the size-based policy is not used:
- with stack-arrays, fir.allocmem that are provably freed are moved to
the stack, except in offload regions and in functions that opted out of
-fstack-arrays in their own policy, like the stack-arrays pass does;
- otherwise, only fir.alloca with a runtime size, of any type, are moved
to the heap, and only under dynamic-array-on-heap
(-fdynamic-heap-array), like the memory-allocation-opt pass does.
The heap-to-stack analysis is now only run when some fir.allocmem should
[21 lines not shown]