[SystemZ][z/OS] Fix crash when personality function is null (#217947)
When the personality function is specified as `null`, then the current
code triggers an assertion. The correct behaviour, like on Linux, is to
not emit the DWARF EH data and the reference to the personality
function.
[SystemZ][z/OS] Support emitting common symbols in HLASM (#215278)
This is a follow-up to #210179. It reuses the logic to emit common
symbols in HLASM, too.
[BasicAA] Remove special malloc handling (#197180)
We currently assume that allocation functions don't ModRef other memory.
However, this is something that should be controlled by the `memory`
attribute on the allocator, which is typically inaccessiblememonly for
things like malloc.
This code path specifically only affected hardcoded allocation functions
from MemoryBuiltins (not those using allocator attributes). Nowadays,
these are only the `operator new` family functions.
For those functions, we should not unconditionally assume that they
don't access other memory: They are replaceable global allocators, which
in principle can have arbitrary memory effects (they can just be
pair-wise elided, but must be respected if not elided.)
https://github.com/llvm/llvm-project/pull/217652 changed clang to emit
`memory(inaccessiblemem: readwrite, errnomem: write)` for `operator new`
if `-fassume-sane-operator-new` is used (which is the default). We
should not make any additional assumptions in BasicAA if the attribute
is not present.
AMDGPU: Deprecate getArchAttrAMDGCN (#217769)
The legacy ArchFeatureKind bitfield returned by getArchAttrAMDGCN is
being replaced by getFeatureBitset (FEAT_* bits). All in-tree callers have
been migrated, so mark both overloads LLVM_DEPRECATED to steer out of
tree code to the bitset API before the accessor is removed.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[FunctionAttrs] Handle nofreeobj (#218364)
This adds handling for nofreeobj (introduced in
https://github.com/llvm/llvm-project/pull/206445) in two places:
* Don't infer `nofree` if we already have `nofreeobj`. `nofreeobj` is a
stronger property, it's pointless to have both.
* Use `nofreeobj` on call arguments when inferring `nofree`.
prometheus-lts: update to 3.13.2 (ok leot@)
pkgsrc changes:
- Align Makefile structure with alertmanager
- Build with GOWORK=off (solves go.mod issues)
- Embed static web assets into the binary like upstream docs say
- Remove patches for path overrides. Apply them in the rc script instead
- Misc cleanup
py-peewee: updated to 4.4.0
4.4.0
In which we learn to migrate (somewhat).
* Add `playhouse.migrations` for running migration scripts. Migrations are
python files defining `up(migrator, db)` and optionally `down(...)`.
Migrations are applied in numeric order a-la Django, and stored by name in a
history table. CLI via `pwmigrate` accepting `status`, `up`, `down`,
`initial`, `create`, `generate`, `fake` and `diff`. To run from python,
`migrations.run(db)`.
* Add basic `playhouse.schema_diff` for comparing models against the
schema and reporting differences (tables to create, columns added or
removed, indexes added or removed).
* Allow adding column to existing table as `NOT NULL` with migrator, which
allows skipping the 3-step process of add nullable, populate default, set not
null.
* `db_url.connect()` raises `ValueError` for a url with no database name,
[22 lines not shown]
py-narwhals: updated to 2.25.0
2.25.0
Performance improvements
perf: remove redundant work in eager when/then, schema resolution, selectors, and module lookups
Enhancements
feat: add str.strip_chars_{start,end}
feat: Add maintain_order argument to {Expr, Series}.list.unique
feat(typing): Introduce PluginName NewType so plugin backends can type check
feat(ibis): Add support for Expr.list.median for ibis backend
Bug fixes
fix: follow left-hand-index alignment rule for pandas-like concat
fix: null propagation for str boolean methods
[13 lines not shown]
py-redis: updated to 8.1.0
8.1.0
redis-py now supports server-pushed maintenance notifications in the asyncio stack for both
standalone and cluster clients, bringing the async client to parity with the sync implementation.
When a Redis deployment signals maintenance events (such as node migration or failover windows), the
async client reacts through the maintenance-notifications handler (redis/maint_notifications.py and
its async integration under redis/asyncio/), allowing applications to adapt connection handling
during maintenance without downtime.
py-queuelib: updated to 1.10.0
1.10.0
* Added ``clear()``, to remove every item from a queue while keeping it open
* Fixed ``RoundRobinQueue.pop()`` dropping falsy items
* Added support for Python 3.15
* Improved linting and CI configuration
[Clang][Sema] Don't warn on accessing virtual base from abstract class (#217715)
Virtual bases are initialized by the most derived class, and they come
before non-virtual base class initializers. So an abstract class can
assume that virtual bases are already initialized by the time their
constructor runs.
It seems that the warning generally doesn't take indirect bases into
account, otherwise this would become a bit more complicated.
Fixes #204858.
[MemCpyOpt] Don't perform stack-move opt for out-of-bounds copy (#217607)
There can be a copy with an out of bounds offset in dead code. If the
perform the stack-move optimization based on that, we'll end up merging
an alloca into an out-of-bounds offset of another alloca, which will
result in UB (when used in non-dead code).
Fixes https://github.com/llvm/llvm-project/issues/216566.
(cherry picked from commit 8ab2745ce76041a0404c36aea5c37160f10d8840)
lang/gambit-c: Update to 4.9.8
- Limit portscout to numeric versions
Every upstream release is tagged twice, v4.9.x and v4.9.x-bootstrap.
Portscout sorts the -bootstrap tag above the plain one and reports it as
a permanent false positive update.
[SPARC][IAS] Adjust bounds check in %rX name parsing (#218301)
Fix an off-by-one error that results in %r31 being incorrectly rejected.
This was reported by the folks at OpenBSD.
(cherry picked from commit e013a0f906630d014e04824681b32daa45812c7c)
[MLIR][ODS] Add separator support to oilist (#217891)
Allow an optional literal separator in oilist formats. Parse and print
separators only between present clauses, and diagnose missing, trailing,
and ambiguous separators.
Assisted-by: Codex
[clang][Driver] Fix libc++ include path on FreeBSD (#212725)
`clang++` defaults to `-stdlib=libc++` on FreeBSD. When building with
both `clang` and `libcxx` included, the freshly built `clang++` uses the
system version of the `libc++` headers. However, this is from the
bundled `libc++` 19.1.7, thus inconsistent with the `libc++` being
built.
Similarly to the NetBSD case, FreeBSD has its own version of
`addLibCxxIncludePaths` which just includes `/usr/include/c++/v1`.
This patch removes `FreeBSD::addLibCxxIncludePaths` in favour of the
generic version in `Gnu.cpp`.
Tested on `amd64-pc-freebsd15.1`.
(cherry picked from commit 7f9b3b671718ce555e76b0eb7f728f1e41ca05e2)
py-scipy: updated to 1.18.1
Issues closed for 1.18.1
BUG: Incorrect use of NumPy scalar types instead of np.dtype...
BUG: remez hilbert segfault
MAINT, TYP: some typing-related concerns in 1.18.x
BUG: forkserver forcing breaks interpreters that don't have it
[BUG] Py_XDECREF on borrowed refs in fitpack_sphere (iopt==-1)...
[BUG] Double-free of wrk1/wrk2/iwrk in fitpack_surfit on allocation...
[BUG] Double-DECREF of ap_t in fitpack_parcur — use-after-free...
[BUG] PyTuple_SET_ITEM on unchecked NULL args_tuple in DVODE/ZVODE...
BUG: interpolate: ``BivariateSpline(grid=False)`` returns (1,)-shaped...
BUG: ``copy.deepcopy`` and ``pickle`` fail for interpolation...
BUG: test_convergence fails very often on aarch64-linux
CI: 32-bit Linux job is failing because numpy needs GCC 10 now
BUG: ``linalg.signm`` unpredictable output dtype
BUG: RectBivariateSpline interpolation issues with new fitpack...
BUG: linalg.expm matrix L1-norm implemented as infinity norm
[29 lines not shown]
[AArch64][FastISel] Avoid TBZ with SLH more thoroughly. (#217329)
With SpeculativeLoadHardening, we already avoid using cond-branch
instructions that don't modify NZCV (CBZ, TBZ), since we rely on NZCV to
propagate the speculative taint mask with CSEL later on.
However, in one case in FastISel, we still emit TBZ, ignoring SLH. Make
it honor the SLH attribute like we do elsewhere.
(cherry picked from commit eb2e28ad666b537837f7ee0ca88f6f66c12d2aeb)
Revert "workflows/release-binaries: Disable flang on Darwin (#164667)" (#216667)
This reverts commit 6d54a5e5b83ce3502b7a3488fea5afe1c8bf9c5c.
Flang Darwin builds were reverted due to #160546. That issue has not
been reproducible (at least on my machine) for several months. There was
a request for MacOS builds on the most recent flang community call.
Flang is not enabled in the MacOS pre-commit CI.
Closes #160546
(cherry picked from commit d2bd0203bee02681b0a150fb8d2d6563b7e56b2e)
[Verifier] Diagnose local scope chains that miss their DISubprogram
DILocalScope::getSubprogram() casts every parent to DILocalScope, so a
DILexicalBlock parented to a non-local scope such as a DIFile makes the
verifier abort on that cast before visitDILexicalBlockBase can report
"invalid local scope".
[clang][NVPTX] Emit !atomic.ignore.denormal.mode for CUDA atomics
CUDA's atomicAdd() family is defined in terms of PTX atom.add, whose
denormal behavior is fixed by the hardware. Without any annotation the
backend has to assume the function's denormal mode must be honored and
expands these into CAS loops whenever the two disagree. Mark them with
!atomic.ignore.denormal.mode so the native instruction is used.
That covers the __nvvm_atom_*_add_gen_f builtins that atomicAdd(),
atomicAdd_block() and atomicAdd_system() are written in terms of, plus
C11/C++11 atomics under -fatomic-ignore-denormal-mode and the
[[clang::atomic(ignore_denormal_mode)]] attribute, which requires
teaching the NVPTX target about AtomicOptions.
The condition for when the metadata is meaningful is now shared with the
AMDGPU and SPIR-V targets in addAtomicIgnoreDenormalModeMetadata(). It
takes an AllowHalf flag because whether f16 denormals are observable is
target specific: PTX exposes no FTZ control for f16 operations, so
atom.add.f16 never flushes and the opt-in is meaningful there, whereas
[3 lines not shown]
[NVPTX] Honor !atomic.ignore.denormal.mode on atomicrmw fadd
PTX atom.add has a fixed denormal behavior that the program cannot
control: atom.add.f32 flushes denormals on global memory but not on
shared, and atom.add.f16 never flushes. When that disagrees with the
function's denormal mode, the backend expands the atomic into a CAS loop
so the denormal behavior is preserved.
!atomic.ignore.denormal.mode says the denormal behavior of this
particular atomic does not matter, so use the native instruction even
when it disagrees. This is the same thing -nvptx-allow-ftz-atomics does,
except per-instruction instead of per-compilation, which lets a frontend
opt in only the operations it knows about -- notably CUDA's atomicAdd(),
which is defined in terms of atom.add.
Note that -nvptx-allow-ftz-atomics defaults to true, so the new behavior
is only observable with -nvptx-allow-ftz-atomics=false.
Co-authored-by: Artem Belevich <tra at google.com>