[DAG] Narrow vselect mask to vXi1 in foldToMaskedStore (#201609)
foldToMaskedStore (added in
https://github.com/llvm/llvm-project/commit/1c0ac80d4a9ef6c21914f2317003979952c2a2c3)
rewrites
store(vselect(cond, x, load(ptr)), ptr) -> masked_store(x, ptr, cond)
passing the vselect condition straight through as the store mask. A
masked
store follows the IR convention of a vXi1 mask, but the condition can be
a
wider boolean vector. On AVX512F targets without VLX, a maxnum/minnum
store-back lowers the NaN test with a legacy packed (CMPP) comparison
whose
result is a vXi32/vXi64 vector, so the masked store is created with a
wide
mask and LowerMSTORE asserts:
Assertion `Mask.getSimpleValueType().getScalarType() == MVT::i1 &&
"Unexpected mask type"' failed.
[13 lines not shown]
py-urwid: updated to 4.0.2
4.0.2
New features
* Initial typing support for urwid package
Bug fixes
* Fix ListBoxError in _keypress_page_down when snapping to a widget above the top
* Fix lazy_import of display modules if __package__ is not defined
Documentation
* Adjust typing for `urwid.display` and `urwid.event_loop`
* Typing: extend typing information for `urwid.display`
* Typing: adjust event loop types
* Typing: adjust types for vterm, numedit and graphics
[9 lines not shown]
py-wcwidth: updated to 0.8.0
0.8.0
New support for Variation Selector 15 Emojis as narrow,
New argument, term_program for wcstwidth(), width(), clip(), wrap(), ljust(), rjust(), and center(). False disables corrections; True auto-detects by TERM_PROGRAM or TERM; string values accept canonical names matching list_term_programs(). wcstwidth()_ defaults to True; all other functions default to False.
Improved performance on Python 3.15 using standard library iter_graphemes()
Improved memory usage and import time for Python 3.15 using lazy imports
Bugfix Invisible_Stacker viramas now form conjuncts (Burmese, Khmer, etc.) and change some Virama width calculations to match jacobsandlund/uucode_ (ghostty)
Updated graphemes width maximum now 2, matching Ghostty, foot, and Windows Terminal
[libc++][array] Test `[[nodicard]]` with `array::const_iterator` (#202070)
Added tests with `array::const_iterator` for completeness.
Implemented in https://github.com/llvm/llvm-project/pull/198492
Towards #172124
[SimplifyCFG] Shrink integer lookup tables (#202071)
After #200664, we generate lookup tables in more cases, leading to
higher memory use and larger binaries. Partially alleviate this by
shrinking the lookup tables if all elements are small integers. The
underlying idea is that an extra integer extension can typically be
folded into a load instruction at no extra cost.
This reduces the size of stage2-clang by 0.13%.
mpg123: updated to 1.33.6
1.33.6
mpg123
Prepare for const-returning strchr().
Hide seq_len debugging counter in non-debug mode.
Fix memory leak with --network internal due to inverted NULL check in net123_close_internal() (handle never NULL in practice, though; bug 386).
mpg123, out123: Fix strrchr() usage to be more const and correct under C99 as well as C23.
mpg123-strip: Also use largefile API properly using mpg123config.h, but without actual effect at least on Linux/x86. It is cleaner that way, though.
ports/cmake: Yasm is not neeeded for Clang on MSVC.
libmpg123: Remove unused loop variable in layer2 left over from runtime table elimination (32 bit mmx/sse code).
openimageio: updated to 3.1.14.0
3.1.14.0
- *oiiotool*: Add `--nchannels` flag for parity with maketx.
- *oiiotool*: Commands taking offsets or geometry arguments now accept a more flexible offset notation with commas as alternative separators (e.g., `X,Y` or `WxH,X,Y` in addition to the X11-style `+X+Y` form). This affects `--create`, `--crop`, `--cut`, `--fit`, `--fullsize`, `--origin`, `--originoffset`, `--paste`, `--pattern`, `--printstats`, `--resize`.
- *oiiotool*: Be more cautious about implicit promotion to float when `--autocc` is used alongside explicit color space names.
- *color mgmt*: For OCIO built-in configs, replace the default file rules with more sensible ones that avoid spurious matches (e.g., no longer assumes all `.exr` files use ACES2065-1 primaries).
- *iconvert*: Allow `-o outfile` for output file designation, for parity with oiiotool syntax.
- *ColorConfig*: New `isData()` API method to query if a color space is a data space; fix Python `isColorSpaceLinear()`.
- *ustring*: Allow freeing the ustring table via `OIIO::attribute("ustring:cleanup", 1)` or env var `OIIO_USTRING_CLEANUP=1`, useful for suppressing false positives in memory leak detection tools.
- *dicom*: Enforce reasonable resolution limits to guard against corrupt files.
- *gif*: Preserve RGB values of transparent-indexed pixels (previously only alpha was set, zeroing the RGB channels).
- *jpeg*: More correctly handle bounds checks for malformed APP1 Exif and APP2 ICC metadata markers.
- *jpeg-xl*: Enforce format resolution limits, for better detection of corrupt or invalid files.
- *jpeg-xl*: Prevent JXL reader from loading or allocating memory for arbitrarily large non-image files.
- *pnm*: Prevent PNM reader from loading or allocating memory for arbitrarily large non-image files.
- *psd*: Fix indexed transparency.
- *softimage*: Fix possible small allocation leak in RLE decoder.
[7 lines not shown]
[ASan] Improve qemu-alpha shadow mapping (#201861)
With a 1T fixed shadow offset the usable app memory is split between
LowMem (0-1T) and HighMem (1.5T-4T). This works on real Alpha hardware
where all addresses stay within TASK_SIZE (4T). However, under
qemu-alpha user mode mmap(NULL) returns addresses from the host x86-64
address space (~127T), outside both regions, causing AddrIsInMem() CHECK
failures in PoisonShadow.
Switch to a fixed shadow offset of 0x70000000000 (7 TiB). TASK_SIZE is
well below the shadow offset so HighMem is empty: kHighMemBeg =
MEM_TO_SHADOW(kHighMemEnd) + 1 > kHighMemEnd. All app memory fits in
LowMem [0, 7T), a simpler layout with no HighMem split. On qemu-alpha,
-R 0x80000000000 constrains guest mappings to [0, 8T), keeping them
within LowMem.
hiredis: updated to 1.4.0
1.4.0
Improvements
Increase required cmake version to 3.15 @memark
Use ffc (pure-C99) as the RESP3 double parser instead of strtod @fcostaoliveira
FetchContent should not include cpack @koenvandesande
Add C++ compatibility to sds.h @JonasKruckenberg
Apply FD_CLOEXEC on sockets @lennyly
Bug Fixes
fix: add NULL check for c->funcs in redisReconnect @ghost
Fix buffer overflow in tests.