[PGO][ICP] Prevent indirect call promotion to functions with incompatible target features (#192142)
Profile-driven indirect call promotion was promoting indirect calls to
functions requiring advanced CPU features (e.g., AVX512) even when the
caller function did not support those features. When these promoted
calls were subsequently inlined, it could lead to invalid IR and
backend crashes during instruction selection because the target CPU
could not handle the advanced instructions.
This patch addresses the issue by adding a target feature
compatibility check to `llvm::isLegalToPromote` in
`CallPromotionUtils.cpp`. If the callee requires target features
(prefixed with `+`) that are not present in the caller's target
features, the promotion is skipped. By centralizing this check in
`isLegalToPromote`, we protect all passes relying on this utility
(such as `SampleProfileLoader` and `IndirectCallPromotion`) from
promoting to incompatible targets. This also prevents incorrect
inlining of `always_inline` functions that would otherwise be promoted
via indirect calls and then inlined.
[3 lines not shown]
py-zope.proxy: updated to 7.2
7.2 (2026-04-30)
- Add support for automatically building and publishing Windows/ARM64 wheels.
- Add support for automatically building and publishing source distributions.
[MLIR] Add HasAncestor op trait (#195447)
Add HasAncestor/AncestorOneOf traits that verify an operation has a
specific ancestor anywhere in the parent chain, unlike HasParent which
only checks the immediate parent.
py-dulwich: updated to 1.2.1
1.2.1 2026-04-29
* Derive the LFS endpoint as the remote's on-disk LFS store
(``<remote>/.git/lfs`` for worktrees, ``<remote>/lfs`` for bare repos)
when ``remote.origin.url`` points at a local filesystem path or
``file://`` URL, matching git-lfs behaviour. Previously the built-in
smudge filter constructed an HTTP-style ``<remote>.git/info/lfs`` path
that did not exist on disk, leaving LFS-tracked files as pointers when
cloning from a local repo.
* Deduplicate objects when writing a multi-pack-index. Objects present
in multiple packs (e.g. after ``git gc`` creates a cruft pack) would
otherwise produce an OIDL chunk with repeated SHAs, causing ``git
multi-pack-index verify`` to fail with "oid lookup out of order".
* Extend ignorecase and precomposeunicode support to index lookups.
18086 viona does not offer IPv6 TSO flags
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Ryan Zezeski <ryan at zinascii.com>
Approved by: Robert Mustacchi <rm at fingolfin.org>
Make sure the start and end of the PT page ranges are aligned to the
size of what's addressable by a single PT page, thus ensuring we count
them up correctly.
bsdinstall: Always use pkg.FreeBSD.org
The FreeBSD-base bits are accessible via pkg.FreeBSD.org, even for
releases, so there is no need to point at pkgbase.FreeBSD.org.
MFC after: 3 days
ccache: updated to 4.13.6
Ccache 4.13.6
Bug fixes and improvements
Fixed a potential manifest/result cache key collision in MSVC depend mode when compiling a source file with no included files.
Improved robustness when parsing cache entry data structures.
Test improvements
Changed the remote_helper test suite to skip gracefully when the storage test helper is unavailable, avoiding failures when testing a system-installed ccache.
[orc-rt] Change SPS controller-interface naming conventions. (#195614)
This commit makes two changes to the naming conventions for SPS CI
symbols:
1. The orc_rt_sps_ci_ prefix is replaced with orc_rt_ci_sps_ (for SPS
wrapper functions) and orc_rt_ci_ (without the "sps_" suffix) for data
symbols.
2. The _sps_wrapper suffix is dropped from wrapper functions, since the
prefix now distinguishes between SPS-wrappers and data symbols.
misc/zoneinfo: update to 2026b
Release 2026b - 2026-04-22 23:06:43 -0700
Changes: https://github.com/eggert/tz/blob/2026b/NEWS
Briefly:
British Columbia moved to permanent -07 on 2026-03-09.
Approved by: skreuzer (maintainer)
MFH: 2026Q2
audio/fasttracker2: Update to 2.19
Changes since 2.18:
v2.19 - 03.05.2026
* Set audio input/output device to default during config reset
* If audio input device was set to default, properly open default
audio input device before sampling audio.
In pmap_bootstrap1(), check to see if FIXEDVA entries in machine_bootmap[]
are covered by any existing page table range, and if not, allocate additional
page table ranges to cover them.
This does not impact the one current user of FIXEDVA -- hp300 -- which
uses it to map the last page of RAM VA==PA. In the hp300 case, this
was already covered by the PTs that map the alternate SYSMAP_VA that
the hp300 uses (precisely because it needs the last VA==PA mapping).
This will eventually be used to map the I/O region VA==PA for mac68k.
Normally, we might otherwies use a TT register for that, but mac68k
runs on 68020s, so we cannot.