[SPIRV] Emit DebugLexicalBlockDiscriminator for a DILexicalBlockFile.
A location scoped at a DILexicalBlockFile was emitted as a DebugScope of the compilation unit, so the discriminator did not round-trip.
Use the discriminator as the DebugScope operand, matching SPIRV-LLVM-Translator.
[SPIRV] Forward-reference debug scopes with a reserved result id.
Visiting a scope reserves its result id. With SPV_KHR_relaxed_extended_instruction a back edge uses that id through OpExtInstWithForwardRefsKHR, and a later failure defines it as DebugInfoNone when an emitted instruction already named it.
Without the extension the edge is dropped and a later walk can retry the scope.
[SPIRV] Emit each debug scope from getOrCreateDebugScope.
Handlers return the opcode and the operands. getOrCreateDebugScope writes that instruction with a fresh id.
[X86] Fix constant vector i64 signed div/rem on 32-bit targets (#229244)
Only mark v4i64 and v8i64 [SU]MUL_LOHI as Custom in 64-bit mode. Their
custom lowering unrolls to scalar i64 operations, whose results cannot
be expanded by the type legalizer on 32-bit targets.
Add crash regression coverage for signed division and remainder by
positive and negative constants with AVX2, AVX512F, and AVX512DQ+VL.
Fixes #228656
(cherry picked from commit e3e894a951586e653dd7910cad39804cb30ce9fd)
[GlobalISel] Drop nuw/nsw/disjoint when widening a result with G_ANYEXT (#218558)
nuw/nsw/disjoint flags are only true at the original width. G_ANYEXT
leaves the new high bits unconstrained, so they must be dropped.
(cherry picked from commit e775aaa9724f52735285f555db534d12166715e7)
[InstCombine] Drop poison-generating annotations forming min/max for clamp (#231537)
When converting select to min/max intrinsics we have to be careful about
poison-propagation, because min/max propagate unconditionally, while
select does not. Normally, this is not a problem, because the select
arms are also used in the select condition, which propagates
unconditionally.
However, SPF also matches special patterns where this may not be the
case. In particular, for `(X <u C1) ? C1 : UMIN(X, C2) ==> UMAX(UMIN(X,
C2), C1)` style transforms, if the inner min/max has poison-generating
annotations, the result can be more-poisonous.
I'm fixing this in a somewhat hacky way, by dropping the poison
annotations as part of SPF canonicalization. This makes assumptions
about the kind of patterns SPF matches. Originally, I wanted to just
move this code out of SPF into a dedicated InstCombine fold, but this
did not work around because SPF also handles cases with casts in
between, and I did not want to replicate that logic.
[4 lines not shown]
[VPlan] Add VPIRAttributes; use for VPWidenCallRecipe. (#207075)
Add a VPIRAttributes mixin (modeled after VPIRMetadata) that stores an
AttributeList for a recipe's underlying call. At construction,
attributes that can safely by used are added (currently non-UB implying
ones like Range, Alignmen, NonNull, FPClass). UB-implying attributes
would be problematic when folding the tail masks off lanes.
We also make sure the attribute is compatible with the widened type.
PR: https://github.com/llvm/llvm-project/pull/207075
[LV] Adjust the trip count of tail-folded loops which may overflow (#224340)
Previously, the DataAndControlFlowWithoutRuntimeCheck style of tail-folding
adjusted the trip count so that it could not overflow. This was removed by
#183762 because when vscale is a known power of two, the canonical IV
increment will not overflow to a non-zero value.
However, without adjusting the trip count it's now possible for an
active lane mask used for control flow to produce an incorrect predicate
when the trip count is UINT64_MAX. In the last iteration, the canonical IV
increment will overflow to zero and produce an all-true predicate when used
as the starting value to the get.active.lane.mask intrinsic.
This PR adds the trip count adjustment back when tail-folding is used for
control flow, unless IVUpdateMayOverflow is known to be false.
Trim license delegate unit tests to the essentials
This commit makes some changes where the license rework tests are cut down to the few that guard severe regressions (missing delegates, stopped services or non-autostart VMs being started, TNC reverting a newer license, DS auth lockout) and drops the mock-heavy HA, propagation and per-feature edge case tests.
Fix edge case defects and add test coverage
Disallow promotion to no-loop for kernels with non-contant or false
conditional clause that affects teams or thread number.
Add guard for 0 trip count for empty loops on host-compile and accept
oversubscription flags there so it applies, so that no-loop kernels are
correctly sized from the count and no longer result in large grid sizing
for zero extended negative iteration counts.
Add guard to write keep-alive list only on per module finalize, matching
offload entry per-module write, to avoid multiple lists with different
names, of which only the first protects its entries, leaving clang's own
list unprotected.
[Offload][OpenMP] Decouple device property accesses from Plugin Interface (#231932)
Removes all calls to the PluginInterface to get device specific
properties:
- Some were reading only env vars and were moved directly to
libomptarget.
- A few new properties were adedd to be accessible through
olGetDeviceInfo.
- A few others were derived in libomptarget.
Assisted by Claude.
[lldb-dap] Reset ignore count on empty hit condition (#230492)
I met similar problem to #222906, when user removes hitCondition on
breakpoint and expects stops, but current implementation preserves
ignore count in that case. Data breakpoints also have the same problem.
I adopted approach from #222906 to solve that problem.
py-httptools: updated to 0.9.0
0.9.0
Upgrade llhttp to 9.4.3
Build CPython 3.15 wheels
Add RISC-V 64-bit wheels
Add Windows ARM64 support in CI
Build PPC64LE wheels
Modernize test and release workflows
[compiler-rt][asan] Handle EAGAIN in ThreadedQuarantineTest (#232798)
Part of #232239.
I've changed the test so that we skip if the initial warmup thread
cannot be made. As if we can't do that, the subsequent checks are likely
to fail.
For thread 2 and beyond, I'm treating EAGAIN as a sign to stop making
threads. I could have made n_threads into a retry limit of sorts, but I
don't think it would help much.
So this test will make a warm up thread, then as many threads as it can
before it hits its own max or the system tells it to stop.
py-httpx2: updated to 2.14.0
2.14.0 (October 18th, 2026)
Added
* Match IP CIDR ranges, like `192.168.0.0/16` and `[fe80::]/10`, in `NO_PROXY` and `mounts`. Requests to any address in the range now bypass the proxy; previously only the network address itself did.
* Accept bracketed IPv6 addresses, like `[::1]` and `[::1]:8080`, in `NO_PROXY`.
Changed
* Raise `InvalidURL` for a `mounts` key with an IP host followed by anything other than a valid CIDR prefix, like `all://10.0.0.0/33`.
Fixed
* Ignore `NO_PROXY` entries that cannot be parsed, instead of raising `InvalidURL` when the client is created.
* Import `httpx2` on FIPS-enforced Python builds without `hashlib.md5`. `DigestAuth` raises `ProtocolError` when the server asks for an unavailable algorithm.
* Handle reads after an ASGI WebSocket app shuts down, instead of leaking `anyio` exceptions.
* Stop the sync WebSocket session from hanging on exit when its event queue is full.
[compiler-rt][asan][test] Handle EAGAIN in ManyThreadsTest (#232273)
Fixes #232239.
This test tries to spawn 1k threads which is sometimes not possible when
a bot is running the rest of the test suite at the same time. In this
case it returns EAGAIN.
Expected equality of these values:
0
pthread_create(&t[i], 0, ManyThreadsWorker, (void*)i)
Which is: 11
We could opt out of this test by setting ASAN_AVOID_EXPENSIVE_TESTS, but
I thought it might be better to make it treat EAGAIN as an early exit
point when creating the threads. If it can create 1k it will, but it
will stop earlier if needed.
py-httpcore2: updated to 2.14.0
2.14.0 (October 18th, 2026)
Fixed
* Keep `CONNECT` and absolute-form proxy targets when the request sets the `target` extension.
* Stop blocking reads when an HTTP/2 server lowers `SETTINGS_MAX_CONCURRENT_STREAMS` while requests are in flight.
* Raise `WriteError` instead of `anyio.EndOfStream` when writing after the peer closes a TLS connection without `close_notify`.