[WebAssembly][GlobalISel] Fix legalizeCustom return value for Helper.lower() (#191345)
Helper.lower() returns a LegalizerHelper::LegalizeResult enum where
UnableToLegalize=2, which implicitly converts to true (success). Compare
against LegalizerHelper::Legalized instead so that legalization failures
are correctly reported.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
py-jwcrypto: updated to 1.5.7
1.5.7
JWE: allow general (non flattened) serialization syntax
Update CI actions
Allow to pass through pem loading unsafe option
Add support for 'scope' claim with multiple scopes
Set default kid when importing keys from pyca.
Hardening: Enforce length of keys for HMAC operations
Add Ed25519 and Ed448 signature algorithms
Migrate jwcrypto packaging to Hatch
[Passes][Inliner] Add separate optsize inlinehint threshold (#191213)
PGO pre-inlining wants to set a different inlinehint threshold when
optimizing for size. Currently this is done by adjusting the InlineHint
threshold based on the pipeline optimization level.
Replace this with a separate OptSizeInlineHint threshold that is applied
based on attributes instead.
[WebAssembly] Fix: fixCallUnwindMismatches after fixCatchUnwindMismatches (#187484)
`fixCallUnwindMismatches()` adds an extra try block around call sites
with incorrect unwind targets. `fixCatchUnwindMismatches()` handles
catch blocks that have incorrect next unwind destinations. Previously we
ran `fixCallUnwindMismatches()` first and then ran
`fixCatchUnwindMismatches()`. The problem is that
`fixCatchUnwindMismatches()` wraps entire try blocks which can change
the unwind destination of the calls inside. If the calls had an
incorrect unwind target to begin with, they will be wrapped already and
so the outer wrapping won't alter their unwind target. However, if they
start out with a correct unwind target, they won't get wrapped and then
that can be messed up by `fixCatchUnwindMismatches()`.
The fix is to run `fixCatchUnwindMismatches()` first.
`fixCallUnwindMismatches()` never messes up the result of
`fixCatchUnwindMismatches()` so this is the correct order.
Resolves #187302
[2 lines not shown]
[Passes][Inliner] Handle optsize/minsize via attributes only (#190168)
InlineParams already has separate threshold for OptSize/MinSize
functions that get applied based on the corresponding function
attributes. As such, we should not also be changing the DefaultThreshold
based on the pipeline Os/Oz levels as well.
[LV] Use -force-target-supports-masked-memory-ops on target agnostic tail folding tests. NFC (#191181)
It's a good bit easier to read tail folding tests if masked memory ops
are allowed. This adds -force-target-supports-masked-memory-ops to tests
where we aren't explicitly trying to test predicated replicate regions
[Support] Factor PatternMatch m_Combine(And|Or), m_Isa (NFC) (#190753)
Introduce a new PatternMatchHelpers with a variant of m_Combine(And|Or)
and m_Isa to share across the IR PatternMatch,
ScalarEvolutionPatternMatch, and VPlanPatternMatch. m_Combine(And|Or)
has been generalized to be variadic. Planned follow-ups include
factoring the specific-value matcher.
[TTI] Add BasicTTIImpl cost model for llvm.masked.{u,s}{div,rem} (#191240)
This implements a generic cost model for the intrinsics added in
#189705. It costs it equivalently to the current expansion, i.e. an
unmasked divide + select.
[AMDGPU] Improve max3/min3 formation for tree-structured reductions (#190734)
The existing `performMinMaxCombine` forms `max3` by matching
`max(max(a,b), c) -> max3(a,b,c)`. For tree reductions like
`max(max(a,b), max(c,d))`, this produces `max3(a, b, max(c,d));` placing
`max3` on top. At the next tree level, `max(max3, max3)` cannot combine
because the 3-op opcode (`FMAXIMUM3`) differs from the 2-op opcode
(`FMAXIMUM`).
This patch:
1. Adds a tree combine: `max(max(a,b), max(c,d)) -> max(max3(a,b,c),
d)`, keeping a 2-op node on top that enables further combining.
2. Defers the existing combine when the operand is a tree node whose
children can still be combined, ensuring inner tree levels are optimized
before outer levels consume them.
Deferral is skipped when neither child has a single use, since the inner
combine cannot fire in that case.
Fix: LCOMPILER-1652
[PAC][clang] Use `Error` behavior for ptrauth module flags (#189923)
Previous use of `Min` for `ptrauth-elf-got` and
`ptrauth-sign-personality` module flags was introducing a risk of silent
decrease of security during module merge. The previous choice for `Min`
was mimicking the behavior for the `sign-return-address*` family of
module flags, but it does not make sense to apply this behavior here.
[NFC][lldb] Extract Do{Dis}EnableBreakpoint into helper functions (#191136)
Re-using this code will be important in an upcoming patch.
This commit also greatly simplifies the comments in the function.
wesnoth: updated to 1.18.7
1.18.7
Translations
* Updated translations: Bengali, Chinese (Simplified), Czech, French, Hungarian, Portuguese (Brazil)
Miscellaneous and Bug Fixes
* Fix time of day sounds not playing.
mkvtoolnix: updated to 98.0
Version 98.0 "Chonks" 2026-04-05
New features and enhancements
* all: huge update to the Japanese translations which had been not worked on
for several years. The program translation is now complete again, the man
page translation has been extended as well. Both were reworked in most
places. Translations by coolvitto.
* GUI: chapter editor: added an option in the "additional modifications"
dialog that toggles applying the selected modifications to all currently
open chapter editor tabs.
* GUI: macOS: added dock icon progress bar for job queue. Patch by Miklos
Juhasz.
Bug fixes
* GUI: chapter editor: when renumbering chapters limiting the number of
[8 lines not shown]
[OpenMP][NFC] Refactor Non-contiguous Update Tests (#190923)
The PR refactors the non-contiguous update tests as raised as a TODO in
one of the comments in the related PR. Prefixed all with
`strided_update`. For offload tests, added a dedicated sub-directory.
[NFC][AMDGPU]: expose IGLPStrategyID in AMDGPUIGroupLP.h (#191340)
Move IGLPStrategyID and its enumerators into llvm::AMDGPU in the public
header so other translation units can share the immediate encoding.