textproc/py-vbuild: Replace pkgutil.find_loader for Python 3.14
pkgutil.find_loader was removed in Python 3.14, so import vbuild fails.
Use importlib.util.find_spec to detect the optional lesscpy, scss and
closure modules.
While here, add concurrent to USE_PYTHON and document the patches.
PR: 299910
Approved by: dtxdf@ (maintainer)
MFH: 2026Q4
(cherry picked from commit 082580c019a813aa021b5900383c22ffc6437fc8)
mail/py-minismtpd: New port: Minimal SMTP server
minismtpd is a library based on now-discontinued smtpd module from
the Python 3.11 standard library. The original module and its tests
are licensed under Python Software Foundation License Version 2.
The modifications and new code is licensed under the BSD-3-Clause
license.
WWW: https://github.com/cuu508/minismtpd/
textproc/py-vbuild: Replace pkgutil.find_loader for Python 3.14
pkgutil.find_loader was removed in Python 3.14, so import vbuild fails.
Use importlib.util.find_spec to detect the optional lesscpy, scss and
closure modules.
While here, add concurrent to USE_PYTHON and document the patches.
PR: 299910
Approved by: dtxdf@ (maintainer)
MFH: 2026Q4
[lld] Migrate away from PointerUnion::dyn_cast in ICF.cpp (NFC) (#234844)
PointerUnion::dyn_cast has been soft-deprecated in favor of
llvm::dyn_cast and llvm::dyn_cast_if_present. This patch replaces it
with llvm::dyn_cast_if_present in ICF.cpp. Note that
Relocation::referent can be null when an external relocation
references a symbol defined in a section that is not split into
subsections, such as __DATA,__objc_imageinfo, for which
ObjFile::parseSymbols leaves the entry in ObjFile::symbols as nullptr.
Assisted-by: Antigravity
[Support][AArch64] detect more host CPU SME features. (#234870)
Add detaction for SME related features. The features align with the
handling in AArch64TargetInfo::computeFeatureLookup()
[lld][MachO] Don't collect FDEs twice in ICF (#236372)
`ld -r` emits __eh_frame as S_REGULAR instead of S_COALESCED, so ICF
treated it as foldable and collected each FDE again on top of its
function's unwind entry.
The test case was made by an LLM.
[lld][MachO] Drop dead inputs from __objc_methlist (#237185)
Category merging marks the method lists of merged categories and their
symbols dead, but they were still emitted by ObjCMethListSection, and
-map hit an assertion on their symbols.
[NFC][AMDGPU] Don't create call site AACallEdges for direct calls
AAAMDGPUMinAGPRAlloc and AAAMDGPUNoLDSDMA asked for a call site AACallEdges for
every call that is not an intrinsic, only to get its callees. For a direct call
whose callee has no callback metadata, that callee is the only one, so use it
directly, like AACallEdgesFunction does since #232616. Calls to callback brokers
still use AACallEdges, because thebroker also calls the callback target.
On a generated module with 2,001 functions and 15,986 calls,
-passes=amdgpu-attributor creates 2,001 instead of 11,987 abstract attributes,
and the median wall time goes from 95 ms to 84 ms.
This PR was assisted by AI but I reviewed all the changes.
[NFC][Attributor] Reach fixpoint in call site AACallEdges for direct calls (#237632)
A direct call whose callee has no callback metadata only calls its
callee, so its call site `AACallEdges` cannot change after
initialization. Add the edge in initialize and reach a fixpoint there,
instead of updating the attribute twice to find out.
`AACallEdgesFunction` already skips the call site attribute for such
calls since #232616; both now share `getOnlyCallee()`.
Other attributes still create call site AACallEdges for direct calls,
e.g., `AAInterFnReachability` and the AMDGPU attributor. On a generated
module with 2,001 functions and 15,986 calls, this removes all updates
of call site `AACallEdges`. The total number of updates goes from
304,263 to 272,291 with `-passes=attributor`, from 207,815 to 175,843
with `-passes=attributor-light`, and from 35,977 to 16,005 with
`-passes=amdgpu-attributor`. The wall time does not change measurably on
that module, because these updates are cheap.
This PR was assisted by AI but I reviewed all the changes.
[NFC][Attributor] Remove "See AbstractAttribute::..." comments
Most overridden methods have a comment like
`/// See AbstractAttribute::initialize(...).` that only points to the
base class declaration. Remove them, including those in OpenMPOpt and
AMDGPUAttributor.
This PR was assisted by AI but I reviewed all the changes.
[Clang][CodeGen] Update the TBAA info for potential aliases (#236701)
The stores were tagged as "unsigned long", but loads were tagged as
"float". TBAA reports no aliases if the store and loads went through
different pointers and GVN forwards a stale value.
Fix this by giving the "store" the "omnipotent char" tag, so that TBAA
treats it as aliasing every access to the destination's members. Using
that tag over "Dest.getTBAAInfo()" because it doesn't depend on how
CodeGenTBAA happens to tag struct and complex types.
Assisted-by: Claude for testcases.