[MLIR][Vector] Move scalable dims check before IR creation in ScanToArithOps (#188954)
ScanToArithOps::matchAndRewrite created the result arith.constant before
checking whether the reduction dimension is scalable. When the dimension
was scalable, the pattern returned notifyMatchFailure() after IR was
already modified, violating MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.
Fix: move the reductionScalableDims check to before the
arith::ConstantOp creation.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
[MLIR][Vector] Move scalable dims check before IR creation in BroadcastOpLowering (#188953)
BroadcastOpLowering::matchAndRewrite created ub::PoisonOp before
checking whether a scalable outer dimension prevents the
stretch-not-at-start case. When that check triggered, the pattern
returned failure() after IR was already modified, violating
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.
Fix: move the scalable dimension check to before the PoisonOp creation.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
[MLIR][NVVM] Fix segfault when translating NVVM ops outside a function (#188735)
When a GPU barrier op was placed at the top level of a gpu.module (not
inside a gpu.func), the pass pipeline lowered it to nvvm.barrier0 at
module scope. During LLVM IR translation, translateModuleToLLVMIR called
NVVMDialectLLVMIRTranslationInterface::convertOperation for the
misplaced op, which reached createIntrinsicCall with an IRBuilder that
had no active insertion point (null GetInsertBlock()), causing a null
dereference crash.
The fix adds a guard at the top of the NVVM translation interface's
convertOperation: all NVVM ops are instruction-level and require an
active insertion point. If the insert block is null, the op must be
misplaced, so we return a proper MLIR error instead of crashing.
Fixes #186642
Assisted-by: Claude Code
editors/redox: update to 0.3.1
- feat: add... something by @JackDerksen in #14
- UI tweaks by @JackDerksen in #15
- fix(explorer): improve robustness of edits through the explorer by @JackDerksen in #16
x11/copyq: update to 14.0.0
Added
- Tab encryption support. Allows encrypting all tab data on disk using a single
custom password. Common keychain software to store the password can be also
enabled with password expiration (locking tabs).
- Note for packagers: This requires QCA and QtKeychain libraries, but it can be
disabled at build time with CMake options WITH_QCA_ENCRYPTION and
WITH_KEYCHAIN (#2617).
- Audio playback via playSound() script function for playing WAV, MP3 and
FLAC files.
- Note for packagers: This requires miniaudio library, but it can be disabled
at build time with CMake option WITH_AUDIO.
- New script function stats() for gathering runtime statistics (memory usage,
UI elements, tab state, loaded plugins, running actions).
- Nord themes. Thanks to @ArtyomBabiy.
- Theme is applied to the About dialog (#3296).
- Log directory can be changed using COPYQ_LOG_DIR environment variable
(if COPYQ_LOG_FILE is not used).
[36 lines not shown]
net/megacmd: update to 2.5.0
Wed Mar 11 10:36:46 AM UTC 2026 - linux at mega.co.nz
- Update to version 2.5.0:
* Shell UX improvements: empty Enter shows a new prompt; no duplicate prompt while command is executing
* Sync engine improvements: prevent re-uploading data when local drive fingerprint has changed
* put: Fixed -c (autocreate) not working when destination is an absolute path
* mediainfo: Fixed audio file duration not being displayed
* Transfers: prevent failures on resumption
* thumbnail/preview: Print error when the requested file does not exist
* share: Return success (exit code 0) when no shares exist below the current folder
* passwd: fixes issues when 2FA is enabled
* Path and string handling fixes (trailing separators, trimming)
* Expanded unit test coverage
* Fix: Improved restart-after-update reliability on POSIX (server PID changes after update)
* Stability, memory, typos and other improvements
- Use builtin megasdk-10.8.0
[MLIR][X86] Fix direct setOperand() bypassing rewriter in shuffleBeforeWriteLikeOp (#188946)
shuffleBeforeWriteLikeOp was calling opA->setOperand() and
opB->setOperand() directly, bypassing the rewriter. This violates the
pattern API contract and causes fingerprint change failures when
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS is enabled. Wrap both
modifications with rewriter.modifyOpInPlace() to properly notify the
rewriter of the changes.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
[MLIR][SparseTensor] Fix direct op erasure bypassing rewriter in FoldConvertIntoProducer (#188960)
FoldConvertIntoProducer called op->erase() directly instead of going
through the rewriter, which triggers an "unsupported erasure" error
under MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
[CIR][AArch64] Upstream NEON Maximum builtins (#188503)
Implement CIR codegen for `vmax_*`, `vmaxq_*`, `maxnm_*`, `vmaxnmq_*`
AArch64 NEON builtins.
part of https://github.com/llvm/llvm-project/issues/185382
[DA] Remove absolute value calculations in the Weak Zero SIV tests (#185580)
In general, the following two points are potentially risky in DA:
- Computing the absolute value of a SCEV expression. Calling
`ScalarEvolution::getAbsExpr` on a signed minimum value will overflow
and return the same value, which is not the expected result in DA.
- Performing arithmetic operations involving a backedge-taken count. The
backedge-taken count is meaningful in an unsigned sense, whereas DA
currently treats all other values and operations in a signed sense.
For these reasons, I think it is better to avoid such operations in DA
whenever possible.
This patch addresses these issues in the Weak Zero SIV tests. I
attempted to craft a test case that exposes a defect caused by these
factors, but I couldn't find one. I'm not entirely sure whether the
current implementation is sound, but anyway, I think avoiding such
operations in DA is a good practice to prevent potential issues in the
future.
[cross-project-tests] Mark llgdb-tests/sret.cpp as UNSUPPORTED on Linux
See https://github.com/llvm/llvm-project/issues/188957
Fails with following error on the `cross-project-tests-sie-ubuntu-dwarf5` builder:
```
******************** TEST 'cross-project-tests :: debuginfo-tests/llgdb-tests/sret.cpp' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
Running debugger
Running FileCheck
Debugger output was:
Breakpoint 1 at 0x11fb: file /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/llgdb-tests/sret.cpp, line 64.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, B::AInstance (this=0x7fffffffe6ef) at /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/llgdb-tests/sret.cpp:64
64 A a(12);
$1 = {_vptr$A = 0x0, m_int = 0, static __clang_vtable = <optimized out>}
[51 lines not shown]
libjpeg-turbo: updated to 3.1.4
Significant changes relative to 3.1.3:
Fixed an issue in the TurboJPEG 2.x compatibility wrapper whereby, if a calling program attempted to decompress a lossless JPEG image using tjDecompress2() with decompression scaling, the decompressed image was unexpectedly unscaled. This could have led to a buffer overrun if the caller allocated the packed-pixel destination buffer based on the assumption that the decompressed image would be scaled down.
The SIMD dispatchers now use getauxval() or elf_aux_info(), if available, to detect support for Neon and AltiVec instructions on AArch32 and PowerPC Linux, Android, and *BSD systems.
Hardened the libjpeg API against hypothetical applications that may erroneously set one of the exposed quantization table values to 0 just before calling jpeg_start_compress(). (This would never happen in a correctly-written program, because jpeg_add_quant_table() clamps all values less than 1.)
Fixed a division-by-zero error that occurred when attempting to use the jpegtran -drop option with a specially-crafted malformed drop image (specifically an image in which one or more of the quantization table values was 0.)
Fixed an issue in the TurboJPEG API library's data destination manager that manifested as:
a memory leak that occurred if a pre-allocated JPEG destination buffer was passed to tj3Compress*() or tj3Transform(), TJPARAM_NOREALLOC was unset, and it was necessary for the library to re-allocate the buffer to accommodate the destination image, and
a potential caller double free that occurred if pre-allocated JPEG destination buffers were passed to tj3Transform(), multiple lossless transform operations were performed, and it was necessary for the library to re-allocate the second buffer to accommodate the second destination image.
Fixed an issue in tj3Transform() whereby, if TJPARAM_SAVEMARKERS was set to 2 or 4, TJXOPT_COPYNONE was not specified, an ICC profile was extracted from the source image, and another ICC profile was associated with the TurboJPEG instance using tj3SetICCProfile(), both profiles were embedded in the destination image. The documented API behavior is for TJXOPT_COPYNONE to take precedence over TJPARAM_SAVEMARKERS and for TJPARAM_SAVEMARKERS to take precedence over the associated ICC profile. Thus, tj3Transform() now ignores the associated ICC profile unless TJXOPT_COPYNONE is specified or TJPARAM_SAVEMARKERS is set to something other than 2 or 4.
Fixed an oversight in the libjpeg API whereby, if a calling application manually set cinfo.Ss (the predictor selection value) to a value less than 1 or greater than 7 after calling jpeg_enable_lossless() and prior to calling jpeg_start_compress(), an incorrect (all white) lossless JPEG image was silently generated.
[2 lines not shown]
[MLIR][X86] Fix direct use.set() bypassing rewriter in rewriteUses (#188945)
rewriteUses was calling use.set(newVal) directly on OpOperand
references, bypassing the rewriter. This violates the pattern API
contract and causes fingerprint change failures when
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS is enabled. Wrap the
modification with rewriter.modifyOpInPlace() to properly notify the
rewriter of the changes.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
[MLIR] Fix ErasedOpsListener false positives for newly created ops/blocks (#188956)
WalkPatternRewriteDriver's ErasedOpsListener incorrectly flagged
erasures of ops/blocks that were created during the current pattern
application. Since those ops were never in the walk schedule, erasing
them is safe.
Track newly inserted ops and blocks per visited op; skip the erasure
check for them. Also fix two related issues:
- DropUnitDims: use a fresh IRRewriter (not inheriting the walk pattern
rewriter's listener) for replaceUnitDimIndexOps on cloned ops.
- TestPatterns CloneRegionBeforeOp: wrap op->setAttr() in
modifyOpInPlace to properly notify the rewriter of the in-place change.
Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>