[IR] Reject IR functions that have hot and cold attributes (#233298)
These are mutually exclusive and clang already enforces this. We should
just reject this in the verifier so that passes don't have to think
about precedence of these two attributes.
sysutils/setup-station: Update to 0.8
mate-settings-daemon now draws the Setup Station wallpaper. The rc
script turns show-desktop-icons off for root while Setup Station runs,
since otherwise the daemon waits for Caja and mate-session, which are
not running.
sysutils/install-station: Update to 1.0
mate-settings-daemon now draws the installer wallpaper. The rc script
turns show-desktop-icons off for root while the installer runs, since
otherwise the daemon waits for Caja and mate-session, which are not
running.
ports-mgmt/update-station: Update to 6.6
Boot environment upgrades now remove ports and the src packages before
the BE is created, run deferred pkg triggers in the BE before it is
activated, and install the base packages with pkg install so ones added
in a new release are not skipped.
Let mate-settings-daemon draw the installer wallpaper
With show-desktop-icons on, mate-settings-daemon leaves the wallpaper
to Caja and waits for mate-session to report SessionRunning. Neither
runs in the installer session, so no wallpaper was drawn. Turn the key
off for root while the installer runs and reset it afterwards.
Bump the version to 1.0.
[LAA] Reject calls with operand bundles that may access memory. (#233304)
Calls to vectorizable intrinsics and vector-variant calls skipped the
memory check, so bundles that may access memory (e.g. deopt) were
ignored. In LV this hoisted, removed or mis-widened such calls.
Reject bundles conservatively for now to fix miscompiles. We can make
this more fine-grained if needed in practice.
[SLP]Allow non-power-of-2 VF for partial register buildvectors
The buildvector, not filling the whole registers (e.g. <3 x float>),
was vectorized as the power-of-2 part plus the scalar remainder. The
type is widened to the full registers anyway, so vectorize it as a
whole.
Partially fixes #56332
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/233314
Reinstall everything in the software step and check devfs unmount
Naming the software packages to skip the base ones meant asking pkg for
packages that might not exist in any repository, and an empty or failed
query fell back to a bare upgrade anyway. The software step goes back
to a plain pkg upgrade, with -f for major and minor upgrades.
A failed devfs unmount after pkg triggers now fails the step instead of
going unnoticed, since the BE could not be unmounted cleanly after it.
[memprof] Clean up remnants of MemProf format Version 2 (NFC) (#233288)
This patch cleans up two remnants left after the removal of MemProf
format Version 2 in #229262:
- FrameIdConverter and CallStackIdConverter in MemProfRadixTree.h no
longer need detail::DerefIterator. Note that detail::DerefIterator
was needed only to abstract iterator dereferencing across MapVector
and OnDiskIterableChainedHashTable, the latter of which was used
only in Version 2.
- MemProfUseTest.cpp still named its test helper makeRecordV2 even
though the test uses Version 3. This patch renames it to
makeRecord, matching InstrProfTest.cpp.
Assisted-by: Antigravity
[MemProf] Fix compile-time blowup in connectNewNode (NFC) (#233240)
connectNewNode had efficiency related support to shrink the remaining
set of context ids to move to the new edges. However, when recursive
callsites are allowed (the default), this required an expensive pre-pass
that overwhelmed any efficiency improvement.
It first scanned every context id on every edge of the original node to
find the recursive ids (those on multiple edges), and then used them to
decide which ids to remove from its copy of the remaining context id
set as edges were processed. Each call to connectNewNode rescans all ids
on that node's edges, even though the set of ids being moved is
typically small. On a large ThinLTO application this pre-pass dominated
the thin link, which took over 43 minutes. With
-memprof-allow-recursive-callsites=false it took about 4 minutes.
The updating of the remaining id set is not needed for correctness. An
id on only one edge has already been moved off that edge once matched.
An id on multiple edges is recursive and must be matched on every edge.
[15 lines not shown]