[mlir][mem2reg] fix assert for indirect blocking uses inside regions (#199193)
When adding new blocking uses created by the interface of a previous
blocking uses (typically forwarding the blocking uses to the op result
users), the mem2reg framework was assuming that the new blocking uses
are in the same region as the original blocking use, which is not true
in general and lead to the assert:
`Transforms/Mem2Reg.cpp:743: void
{anonymous}::MemorySlotPromoter::removeBlockingUses(mlir::Region*):
Assertion `op->getParentRegion() == region && "all operations must still
be in the same region"' failed.`
This patch fixes this by adding the new uses into the userToBlockingUses
for the region of the new blocking uses.
py-mdit-py-plugins: updated to 0.6.1
0.6.1 - 2026-05-13
- FIX: Nested field lists incorrectly nesting inside parent containers
Field lists inside list items (or other indented containers) would recursively nest each field inside the previous one, instead of being siblings.
0.6.0 - 2026-05-07
- NEW: Add GFM autolink and composite GFM plugins
The `gfm_autolink` plugin implements [GFM autolink literals](https://github.github.com/gfm/#autolinks-extension-),
auto-linking URLs and email addresses without requiring angle brackets:
```markdown
Visit www.example.com or contact user at example.com
```
[15 lines not shown]
[LV] Add support for partial reduction chains with fsubs. (#197114)
The cost-model prevented this from happening, but the LV would otherwise
generate incorrect code (i.e. without the fneg).
py-sphinxcontrib-phpdomain: updated to 0.15.2
0.15.2
* Removed usage of `pkg_resources` and converted to an implicit namespace package.
* Fixed build warnings related to license metadata.
0.15.1
* Tagged the wrong branch for 0.15.0
* Fixed missing build dep
0.15.0
* Expand compatibled version range for sphinx 9.x
- Add new I2C device node to attach samsabi(4) to the SAM060B EC at address
0x62.
- Power on the GXTP7936 touch-screen, and disable the interrupts until we
can find the correct pin for it. ums(4) will handle it as a polling device
for now.
ok kirill@
py-sphinxcontrib-httpdomain: updated to 2.0.0
2.0.0
Breaking changes
Dropped support for Python 3.9 and older.
Switched to implicit (native) namespace for sphinxcontrib.
Major changes
Added support for Python 3.10 up to 3.14.
Adjusted a unit test regular expression for :file:`bottle_test.py`.
Use MDN documentation for information about HTTP status codes instead of w3.org.
Added :addtoc: option for http directives to register HTTP API endpoints and display them in the page-level table of contents.
Internal
Added Dependabot configuration.
[16 lines not shown]
[RISCV] Remove TargetLowering arg from getContainerForFixedLengthVector. NFC (#199629)
Unless I'm missing something we can just fetch the TLI from
RISCVSubtarget
snmp_pf: fix refresh
Some refresh functions had two layers of 'do we need to refresh now?'
checks, leading to inconsistent refreshes.
Consolidate them.
PR: 291725
Sponsored by: Rubicon Communications, LLC ("Netgate")
(cherry picked from commit a862e4b5a27c356e2584ee74fd9e211c18b1b125)
py-uvicorn: updated to 0.48.0
0.48.0
Changed
Default ssl_ciphers to None and use OpenSSL defaults
Fixed
Ignore duplicate forwarding headers in ProxyHeadersMiddleware
py-httptools: updated to 0.8.0
0.8.0
Add http-parser and llhttp licenses into the wheels
Mark cython module as free-threading compatible
Fix all typing issues
Bump llhttp to 9.4.1
Security: fix URL truncation issue
Allow building with latest setuptools
build: adjust LLDB and clang library naming on Windows (#185084)
Ensure that use of the GNU driver does not change the library name on
Windows. We would check the build tools being MSVC rather than targeting
Windows to select the output name.
(cherry picked from commit 687e66c989887542b1702a7a99eeaa4e25edd12e)
snmp_pf: fix refresh
Some refresh functions had two layers of 'do we need to refresh now?'
checks, leading to inconsistent refreshes.
Consolidate them.
PR: 291725
Sponsored by: Rubicon Communications, LLC ("Netgate")
(cherry picked from commit a862e4b5a27c356e2584ee74fd9e211c18b1b125)
[libc] Demote compiler check error to a warning (#198033)
Summary:
This check exists to encode the policy that this is only intended to be
built with a just-built compiler. In practice it's a little too strict
and breaks pretty much every six months when the version bumps or when
people try to build a separate patch. Just demote to a warning.
(cherry picked from commit 13da33e922fe43cd97246f5e33320acc4f5ea186)
[NFC] Add null terminator assert to CodeViewRecordIO::mapStringZ (#199624)
mapStringZ assumes that there's a null terminator past the end of Value
(I suppose the name hints at this too). This doesn't seem very nice to
me, but at least we can add an assert to check that the assumption
holds.
[LoongArch] Fix musttail with indirect arguments by forwarding incoming pointers (#198965)
When a `musttail` call passes arguments indirectly (fp128 on LA32, i128
on LA32), the backend allocates a stack temporary and hands the callee a
pointer. The tail call deallocates the caller's frame, and the pointer
dangles.
Fix by forwarding the incoming indirect pointers instead. They point to
the caller's caller's frame, which stays valid after the tail call.
Forwarded formal parameters reuse the pointer directly; computed values
get stored into the incoming buffer first.
The pointers are saved in virtual registers (`CopyToReg`/`CopyFromReg`)
rather than SDValues. The SelectionDAG is cleared between basic blocks
and musttail calls can appear in non-entry blocks, so storing raw
SDValues across BBs is unsound (this was the bug that led to the revert
in 501417baa60f). The vreg save only fires when the function has
musttail calls; other functions see no codegen change.
[2 lines not shown]
[X86] LowerBUILD_VECTORvXi1 - scalarize the bool masks if we insert a single non-const value (#199523)
Minor generalization of the existing fold for splat bool masks - if only
a single value is used in insertion(s) (as well as any immediate/undefs
values), then fold to a scalar select (val, insert|immediate, immediate)
Yak shaving for #198162
[ELF] Initialize Symbol fields in the constructor instead of via memset (#198129)
`initSectionsAndLocalSyms` and `makeDefined` memset the storage to zero
and then placement-new a Symbol-derived object into it. Placement new
begins a new object's lifetime. The standard does not seem to guarantee
the memset bytes carry into members the constructor leaves
uninitialized.
lld built by GCC 16 can make Valgrind report reads of Symbol::flags
(via getSymSectionIndex during finalizeSections) as uses of
uninitialized values (ClangBuiltLinux/linux#2162).
This patch reinstates the per-field initialization that commit
778742760534 ("[ELF] Avoid redundant assignment to Symbol fields. NFC")
had replaced with a bulk memset.
(cherry picked from commit 905a88b923433eb8cd83677ea55bee82eb9ba498)
[RISCV] Fix fixed-length masked.{u,s}{div,rem} lowering not converting operands (#197913)
Similar to #197724, but this time I also somehow forgot to convert the
operands to scalable vectors. I'm surprised that nothing asserted here,
since SDT_RISCVIntBinOp_VL has a type profile constraint that the
operands and result types need to be the same.