[SelectionDAG] Salvage debuginfo when combining load and z|s ext instrs. (#188544)
Reland 2b958b9ee24b8ea36dcc777b2d1bcfb66c4972b6
Salvage debuginfo when combining load and z|s ext instrs.
SelectionDAG uses the DAGCombiner to fold a load followed by a sext to a
load and sext instruction. For example, in x86 we will see that
```
%1 = load i32, ptr @GlobArr
#dbg_value(i32 %1, !43, !DIExpression(), !52)
%2 = sext i32 %1 to i64, !dbg !53
```
is converted to:
```
%0:gr64_nosp = MOVSX64rm32 $rip, 1, $noreg, @GlobArr, $noreg, debug-instr-number 1, debug-location !51
[14 lines not shown]
[CIR][Lowering] Handle address space cast in GlobalViewAttr lowering (#190197)
Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2099
This PR fixes the GlobalViewAttr LLVM lowering to use AddrSpaceCastOp
when the source and destination address spaces differ.
This fixes crashes when lowering globals referenced across address
spaces, such as AMDGPU globals in addrspace(1) referenced from
llvm.compiler.used arrays.
py-test-subprocess: updated to 1.5.4
1.5.4 (2026-03-21)
Features
* Improve matching commands that contain quoted arguments.
Bug fixes
* Fix ResourceWarning for unclosed file handles in test_universal_newlines and test_text by explicitly closing process.stdout after reading, preventing intermittent failures on Python 3.12+.
* Handle stderr=STDOUT when stdout is a file handle.
* Patch imported `subprocess.Popen` aliases.
* Support file handles in stdout and stderr.
Other changes
* Officially support Python 3.14 and 3.15.
py-test: updated to 9.0.3
pytest 9.0.3 (2026-04-07)
Bug fixes
* Fixed pytest.approx() which now correctly takes into account Mapping keys order to compare them.
* Blocking a conftest.py file using the -p no: option is now explicitly disallowed.
Previously this resulted in an internal assertion failure during plugin loading.
Pytest now raises a clear UsageError explaining that conftest files are not plugins and cannot be disabled via -p.
* Fixed crash when a test raises an exceptiongroup with __tracebackhide__ = True.
* Fixed an issue where non-string messages passed to unittest.TestCase.subTest() were not printed.
* Fixed use of insecure temporary directory (CVE-2025-71176).
Improved documentation
* Clarified documentation for -p vs PYTEST_PLUGINS plugin loading and fixed an incorrect -p example.
[5 lines not shown]
py-lxml: updated to 6.0.3
6.0.3 (2026-04-09)
Bugs fixed
* Several out of memory error cases now raise ``MemoryError`` that were not handled before.
* Slicing with large step values (outside of ``+/- sys.maxsize``) could trigger undefined C behaviour.
* LP-125399: Some failing tests were fixed or disabled in PyPy.
* LP-2138421: Memory leak in error cases when setting the ``public_id`` or ``system_url`` of a document.
* Memory leak in case of a memory allocation failure when copying document subtrees.
* When mapping an XPath result to Python failed, the result memory could leak.
* When preparing an XSLT transform failed, the XSLT parameter memory could leak.
devel/py-pyinstaller-hooks-contrib: Update to 2026.2
Signed-off-by: Christopher Hall <bsd.hsw at gmail.com>
Differential Revision: https://reviews.freebsd.org/D55689
devel/py-pyinstaller: Update to 6.19.0
Signed-off-by: Christopher Hall <bsd.hsw at gmail.com>
Differential Revision: https://reviews.freebsd.org/D55690
devel/py-pyinstaller-hooks-contrib: Update to 2026.2
Signed-off-by: Christopher Hall <bsd.hsw at gmail.com>
Differential Revision: https://reviews.freebsd.org/D55689
devel/py-pyinstaller: Update to 6.19.0
Signed-off-by: Christopher Hall <bsd.hsw at gmail.com>
Differential Revision: https://reviews.freebsd.org/D55690
[DWARFYAML] Begin DWARFv5 debug_line support (#191167)
This patch adds enough support to generate a correct basic v5 header
(llvm-dwarfdump complains it can't find DW_LNCT_path, but I wouldn't say
it's strictly required). Directory and file name counts use relatively
complex encodings, so I'm leaving those for separate patch(es). For now,
I'm hardcoding the relevant fields to zero.
[libc] Implement accept(2) on linux (#191203)
The implementation follows the same patterns as the other socket
functions (this was mostly done using AI).
I've extended the connect test to test accepting connections as well
(and renamed it accordingly).
[DA] Fix overflow of findBoundsALL in BanerjeeTest
Fix signed overflow handling in `findBounds*` for the Banerjee test.
The previous implementation computed bounds using `getMinusSCEV` and
`getMulExpr` without checking for signed overflow, which could produce
incorrect bounds when coefficients have extreme values.
- Add `mulSCEVNoSignedOverflow` helper function that checks for
multiplication overflow before computing the result
- Use `minusSCEVNoSignedOverflow` and `mulSCEVNoSignedOverflow` in
`findBounds*` to safely compute bounds, returning `nullptr`
when overflow would occur
sftpgo: update to 2.7.1
New features
SFTPD: Added support for OpenPubkey SSH, enabling tighter integration between OpenID Connect and SFTP.
Bug fixes
Enforced password validation rules also when applied through a group.
Fixed an issue where JSON dumps containing command actions failed to load correctly at startup when loaded as initial data.
Data Provider: Fixed lock handling issues during migrations that could affect MySQL when migrations are executed concurrently by multiple instances.
Security fixes
Fixed a potential path traversal and permission bypass involving specially crafted paths. CVE-2026-30914.
Fixed placeholder sanitization in group home directories and key prefixes. CVE-2026-30915.
Backward incompatible changes
Unified path handling: Prior to this release, the backslash character (\) was treated differently depending on the host operating system: on Linux, it was considered a standard character within a file or directory name, while on Windows, it acted as a path separator. We have now unified path handling across all platforms. Moving forward, both forward slashes (/) and backslashes (\) are strictly evaluated as path separators, independently of the underlying OS.
[clang][Serialization] Serialize DiagStateOnPushStack to fix pragma d… (#190420)
**Serialize DiagStateOnPushStack to fix pragma diagnostic push/pop
across PCH boundary**
`DiagStateOnPushStack` was not serialized in PCH files, causing `#pragma
clang diagnostic pop` to emit a spurious "no matching push" warning when
the corresponding push was in the preamble. This is because clangd
splits files into a preamble (compiled to PCH) and the main file body,
and the push/pop stack was lost during the PCH round-trip.
Serialize and deserialize DiagStateOnPushStack in
`WritePragmaDiagnosticMappings`/`ReadPragmaDiagnosticMappings` so that
unmatched pushes from a preamble are correctly restored.
Fixes https://github.com/clangd/clangd/issues/1167