[VPlan] Hoist sums of invariant operands of adds in runtime checks. (#240190)
When expanding a variant integer add for the runtime checks of an inner
loop in a loop nest, operands invariant in the outer loop were hoisted
individually during IR SCEV expansion.
Update VPlan-based SCEV epander to expand the sum of the invariant
operands plus the sum of the others, so the invariant sum is expanded in
IR and hoisted out of the outer loop.
powerpc/idle: Set 'RL' field in PSSCR on POWER9
The POWER9 does not do automatic state transitions when idling, so the
'MTL' field (Maximum Transition Level) is ignored. Thus, setting '0'
for the 'RL' field (Requested Level) as was done means it
doesn't transition to any power saving level. To fix this, set both the
'MTL' and the 'RL' fields to the same level.
On a Talos II at idle this drops the reported temperatures by ~10-15%.
MFC after: 3 days
[SLP]Do not form scalar reduction roots with external lane uses
Narrowed reductions keep chains with extra uses alive, so their leaves
need extracts from the root vector, which bitcast and bit pack roots
do not produce.
Fixes #240152
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240216
[ELF] Symbol::resolve: Remove dead discardedSecIdx condition. NFC (#240213)
initializeSymbols used to call `resolve` with such an Undefined for a
global symbol defined in a discarded COMDAT member. Since D120626 all
callers pass discardedSecIdx=0 (except combineVersionedSymbol where
`this` is a Defined).
Merge tag 'devm_kmalloc_obj-v7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull devm_kmalloc_obj conversion from Kees Cook:
- treewide refresh of kmalloc_obj() conversions
- devm_kmalloc_obj conversion rules added to Coccinelle scripting
- treewide conversion of devm_kmalloc() family to devm_kmalloc_obj()
* tag 'devm_kmalloc_obj-v7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
treewide: Convert devm_kmalloc() family to the devm_kmalloc_obj() family
coccinelle: kmalloc_obj: Include devm_kmalloc_obj conversion rules
treewide: refresh kmalloc_obj() conversions
[SLP]Fix signedness of the last narrow part in split reductions
If the other parts are reduced in tree, the remaining narrow vector part
was extended to the reduction type with zext, ignoring its signedness.
Fixes #240151
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240211
[GVNHoist] Make nested GEPs check corresponding Instructions
A nested GEP of a load/store was originally check the direct parent of
the load store. This makes us unable to correctly relax the flags for
the innermost GEP.
The simple example is in here:
```
b = gep a
c = gep b
d = load c
```
In the orignal implementation, the merging always uses gep b, this
causes gep a are unable to detect.
Assisted-by: Cluade # Test
Closes: #237085
py-google-api-core: update to 2.44.0.
Features
google-api-core: extend ErrorInfo dict accessors, centralize status code extraction, and update StructuredLogFormatter (#18884) (0c3fa2b)
Bug Fixes
gapic-generator: default client_options.api_endpoint to transport host for OpenTelemetry spans (#18869) (10cdc90)
google-api-core: make RetryError picklable and copyable (#18947) (5ffc395)
[ADT] Add LLVM_ATTRIBUTE_WARN_UNUSED to SmallString (#240180)
This patch adds LLVM_ATTRIBUTE_WARN_UNUSED to SmallString so that
compilers can diagnose unused SmallString variables even though
SmallString has a non-trivial constructor and destructor.
This patch also removes an unused local variable Path in
VirtualOutputBackendsTest.cpp uncovered by the attribute.
Assisted-by: Antigravity
[NFC][SPIRV] Clean up the Global Registry when removing an instruction (#239297)
This fixes a relatively quaint bug, that only seems to trigger with .bc
inputs. Here's what I believe is happening:
- during intrinsic emission we might have to update assign pointer type
instructions, as a consequence of mutating an instruction;
- the old / non mutated instruction is erased, as is the old type
assignment, but its entry in the map from instruction to assigned type
maintained by the Global Registry is not erased;
- during subsequent processing, as a consequence of new instructions
getting created, the address of the old, now erased instruction, appears
to be re-used;
- due to the re-use, we can end up in a circumstance wherein we index
into the assigned type map via the re-used address and retrieve the now
invalid / dead `assign.type` instruction.
The fix is to a just add an interface that allows the simple removal /
erasure of an entry from the map (we already have `add` and `update`),
[7 lines not shown]
[LV] Treat all blocks as predicated for early exits with side effects. (#232408)
For uncountable exits with side effects, all memory accesses except the
uncountable exit condition load are masked on the VPlan-level. Legal
already marks them as requiring a mask.
Also return true from blockNeedsPredicationForAnyReasonif the loop has
an uncountable exit with side effects.
PR: https://github.com/llvm/llvm-project/pull/232408
chawan: update to 0.5.2.
0.5.2 (2026.11.08)
* fix term quit getting stuck on some broken terminals
* work around a Nim 2.2.14/2.4.0 regression
* fix a leak in QJS JS_ValueToAtom
* fix overflow in QJS variable capturing
* fix key being incorrectly removed in some cases in config
* fix default omni-rule overriding
* fix list-style-type disclosure-open/close mixup
* fix handling of unknown @charset at rules
* fix a bug in domainToAscii
* fix non-stylesheet link[title] setting the selected stylesheet's title
* update stb_image[_write] to latest version
* fix external QJS ArrayBuffers keeping free_func after detaching
* work around a distinct codegen bug in old Nim versions
* fix no-referrer Referrer-Policy with referer-from=false
misc/zoneinfo: Update to 2026f
Upstream changes:
* Cuba will not fall back to -05 on 2026-11-01 and instead plans to
maintain -04 through 2027-11-07.
* No more leap seconds, and leap second tables no longer expire
* Improve 1965/1966 data for Brazil: in 1965 Brazil ended DST on
03-31 at 24:00 not 00:00, and in 1966 it ended DST on 03-01 at
01:00 not 00:00.
Changelog: https://data.iana.org/time-zones/tzdb/NEWS