[AArch64] Correct A510 scheduling information for LDn instructions (#205518)
The latency and throughput for these instructions don't match what's in
the A510 Software Optimization Guide, so adjust them so that they do
match. Also rearrange the definitions to match how they're structured in
the optimization guide and rename things in a similar manner to how the
C1 CPUs do things, as it's much clearer.
[mlir][vector] add consistent stride verification to `masked load/store` and `gather/scatter` ops (#204842)
Extend negative stride checks to MaskedLoadOp, MaskedStoreOp, GatherOp,
and ScatterOp to match LoadOp and StoreOp behavior.
Depends on: #204611.
AI Disclaimer: I used AI for the tests.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Revert "Reapply "[InstCombine] Merge consecutive assumes", round 2" (#205805)
It looks like there is still a bug with removing assumes from the
assumption cache.
Reverts llvm/llvm-project#205773
[clang][bytecode] Fix `evaluateDestruction()` (#205778)
Me previous testing regarding this seems to have been insufficient. Or
this regressed some time along the way.
Now that `CLANG_USE_EXPERIMENTAL_CONST_INTERP` is used for testing I
noticed a few regressions.
We need to special-case the evaluating decl in a few places, since it's
a global variable that we're allowed to modify.
[libc] Add libgen.h to target public headers (#205804)
Ensure libgen.h is included in TARGET_PUBLIC_HEADERS for Linux targets
so that it gets generated and installed.
Assisted-by: Automated tooling, human reviewed.
Map commercial licenses to community edition
This commit fixes an issue where uploading a commercial license crashed system.product_type, which assumed every license carries a hardware model when commercial and community licenses intentionally do not. Product type now keys off the license type and maps commercial/community licenses to community edition while preserving the legacy freenas-model carve-out, and these systems no longer honor licensed features or unlock FIPS/TrueSearch so they behave like a plain community install with whatever support contract they carry left for a later phase.
To do this without importing SystemService into the license plugin, the product type cache reset is now exposed as system.reset_product_type_cache, which also removes a pre-existing circular import between the system and truenas plugins.
[Offload][OpenMP][Flang] Update no-loop test (#205803)
Updates to the kernel type detection logic now allow `target parallel
do` to be promoted to SPMD-No-Loop.
A currently broken offload test that was affected by this change is
updated here.
[clang][dataflow] Move expensive solver asserts under EXPENSIVE_CHECKS (#205715)
The watched-literal solver has a few invariant checks that run on every
solver iteration in assertion builds. Some of these checks rebuild and
iterate over the watched-literal state. This overhead is usually hidden,
but it becomes dominant for large flow-sensitive analyses.
While testing clang-tidy's `unchecked-optional-access` check on real
world projects (in this case, LLVM itself), we found there are a few
extreme slow analyses caused by this overhead.
| Time | File |
|---------|-----------------------------------------------------|
| 8235.7s | llvm-project/clang/utils/TableGen/RISCVVEmitter.cpp |
| 8197.2s | llvm-project/clang/lib/Driver/Multilib.cpp |
(Ran on a machine with Icelake 32cores + 128gb memory)
After moving these asserts to `EXPENSIVE_CHECKS`, the same files
[13 lines not shown]
[NaryReassociate] Fix divide by zero crash in NaryReassociatePass (#202377)
Updates NaryReassociatePass with a safety check to guard against GEPs
into arrays with zero sized element types (eg. [0 x ptr]) to prevent
division by zero.
[analyzer] Fix unjustified early return in processCallExit (#205656)
In `ExprEngine::processCallExit` step 3 may theoretically split the
state because it calls `removeDead`, which activates `LiveSymbols` and
`DeadSymbols` callbacks of various checkers. (However, in practice it is
likely that these checker callbacks never actually split the state -- at
least, no such state splits happen in the LIT tests.)
The nodes produced by `removeDead` are placed in the set `CleanedNodes`;
in theory the different execution paths should be handled in parallel,
independently of each other. However, the loop `for (ExplodedNode *N :
CleanedNodes)` contained an early return statement, which meant that if
the creation of `CEENode` failed for a node `N`, then the subsequent
iterations were skipped altogether.
This commit replaces the `return` with a `continue` to ensure that the
nodes in `CleanedNodes` are handled independently (if there are several
such nodes).
[6 lines not shown]
GlobalISel/LegalizerHelper: Use same LLT kind as WideTy for widen merge
In widenScalarMergeValues, WideTy is input given by target. Use same LLT
kind for other types of different sizes instead of LLT::scalar.
Makes a difference with extendedLLTs.
[LifetimeSafety] Gate annotation suggestions behind `SuggestAnnotations` opt (#205764)
Annotations suggestions expectedly fire very often and they have
recently shown significant regressions after the
https://github.com/llvm/llvm-project/pull/204045. This now gates the
suggestions behind a dedicated `SuggestAnnotations` option, preventing
unnecessary work when the relevant diagnostics are disabled.
[VPlan] Allow VPValue in match_fn without needing explicit template arguments. NFC (#205748)
Currently if you want to use match_fn over a range of VPValues, you have
to explicitly write `match_fn<VPValue>` otherwise it will resolve to the
VPUser overload.
This changes the functor to be a lambda with an auto argument so
match_fn(...) works for both VPValues and VPUsers without explicit
templates. The lambda is inlined so there's no indirect function call.
vputils::getGEPFlagsForPtr is updated to use the new form.
We can't use `bind_back` since it requires we bind to exactly one
function that's known at call time.
shells/zsh: update to 5.9.1
While here switch from pcre to pcre2
Add a patch to support new RLIMITS_PIPEBUF[1] and RLIMITS_VMS
Remove patch which has been upstreamed
PR: 282487 [1]
Submitted by: Martin Birgmeier <d8zNeCFG at aon.at> [1]
GlobalISel/LegalizerHelper: Use type of input load dst for LowerLoad
Deduce dst type for new instructions, that do the load lowering, from
destination type of original load instead of from MMO.
Makes a difference with extendedLLTs.
textproc/rucola: update to 0.10.0
Release Notes
Added a diary option by GitHub user robin-thoene
Added a configuration option to enable the daily diary.
Added a keybinding that creates a diary note and opens it in the editor or display screen.
Added a configuration option to determine the format of the title of the diary note.
Added a configuration option to set the initial content of the diary note.
Added an option to copy (i.e. duplicate) notes in the select and display screen
If a note is copied and its filename contains a valid date string (e.g. %F), it will be replaced by chrono during the copy.
Otherwise, copy_ will be prepended to the new file name.
This can be used to create templates for e.g. monthly or weekly notes and quickly copy them, in addition to the daily note system outlined above.
py-sybil: updated to 10.1.0
10.1.0 (13 Jun 2026)
- Ignore trailing whitespace in doctest output by default, see
:data:`~sybil.evaluators.doctest.KEEP_TRAILING_WHITESPACE` if you need whitespace sensitivity.
- Make :func:`~sybil.testing.run_pytest` runs immune to ambient color environment variables.
py-vcs-versioning: updated to 2.2.0
2.2.0 (2026-06-24)
Added
- Restore Python 3.8 and 3.9 support, re-enabling use as a build dependency for projects like scikit-build that still support these versions.
Miscellaneous
- Move PKG-INFO discovery tests to setuptools-scm where the entry points are registered.