[CIR] Handle boolean expression as array indexes (#193814)
We were hitting a CIR verification error in some cases when a boolean
expression was used as an index to an array because the GetElementOp
verifier expected the index operand to be a fundamental integer type. To
fix this, I'm updating the emitArraySubscriptExpr to cast index values
to ptrDiffTy, which more closely matches what classic codegen does in
the corrsponding code.
The improved alignment with the classic codegen implementation caused
some minor changes in generated IR that required some tests to be
updated.
Assisted-by: Cursor / claude-4.7-opus-high
[mlir][xegpu] Add support for `vector.transfer_read/write` on SLM buffers (#192757)
Adds lowering support when `vector.transfer_read/write` operate on SLM
buffers. These ops will be lowered to `xegpu.load/store_matrix`
[MachineOutliner] Do not allow debug instructions to affect liveness computations. (#192336)
Because DBG_VALUE precedes the actual definition of a physical register,
considering
these during the liveness updating phase of MachineOutliner was causing
every register
definition to also be marked as a use, which would eventually lead to a
verifier error
when a use without a def was detected.
A MIR testcase for this is present at
https://github.com/CHERIoT-Platform/llvm-project/commit/b71f6d67e338e70a1dc23e15a77805da3e3cd015
but it depends on CHERIoT instructions that are not in LLVM upstream at
present. It's also very senstive to small changes to the input, so I
have not been able to reproduce it on an in-tree target. That said, I
believe this change is small enough that its correctness is verifiable
by inspection.
Update to version 9.2.0390.
Changes:
- patch 9.2.0390: filetype: some Beancount files are not recognized
- patch 9.2.0389: DECRQM still leaves stray "pp" on Apple Terminal.app
- patch 9.2.0388: strange indent in update_topline()
- patch 9.2.0387: DECRQM request may leave stray chars in terminal
- patch 9.2.0386: No scroll/scrollbar support in the tabpanel
- runtime(sh): allow "#" in special derefs
- patch 9.2.0385: Integer overflow with "ze" and large 'sidescrolloff'
- runtime(doc): fix incorrect description of 'scrolloffpad'
- runtime(graphql): Update syntax script to September 2025 spec
- patch 9.2.0384: stale Insstart after <Cmd> cursor move breaks undo
- patch 9.2.0383: [security]: runtime(netrw): shell-injection via sftp: and file: URLs
- patch 9.2.0382: Wayland: focus-stealing is non-working
- patch 9.2.0381: Vim9: Missing check_secure() in exec_instructions()
- patch 9.2.0380: completion: a few issues in completion code
- patch 9.2.0379: gui.color_approx is never used
- patch 9.2.0378: Using int as bool type in win_T struct
[31 lines not shown]
Tools/scripts: Add git-diff-ports.sh
This script prints the list of ports with uncommitted changes.
It is called git-diff-ports because it prints the processed output of
'git diff'.
I found is useful while working on ports.
lang/gawk: do not pick up gettext-tools in configure
configure picks up xgettext and it is then used during the build, but
to no effect.
Reported by jca@
[flang][cuda] Preserve fir.rebox captured by cuf.kernel in SimplifyArrayCoorOp (#193837)
SimplifyArrayCoorOp folds fir.rebox → fir.array_coor by rewriting the
array_coor to consume the rebox's source box directly. This is unsafe
when the array_coor is inside a cuf.kernel and the rebox is not: in CUF,
a rebox of a device-attributed value (e.g. a dummy with cuf.data_attr =
device) is the op whose lowering copies the descriptor into
GPU-accessible memory. Folding it out skips the copy, so the kernel
dereferences a host-side descriptor on the device, causing
cudaErrorIllegalAddress (or cudaErrorUnknown on H100 under ATS).
The pattern already guards this hazard for OpenACC via
ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS / ACC_DATA_ENTRY_OPS; this change
adds the analogous guard for cuf::KernelOp.
[lldb/test] Fix TestOSIndSYM for Darwin embedded platforms (#193839)
The test used CreateTarget(None) and relied on the attach to discover
the executable and load the dSYM. On remote platforms this doesn't find
the local dSYM, so the OS plugin never loads. Switch to
CreateTarget(executable) so the dSYM Python module is loaded before
attach.
Also split the test into two methods: test_python_os_plugin uses
spawn+attach which works both locally and on real remote platforms,
while test_python_os_plugin_remote simulates remote debugging by
manually spawning debugserver and is skipped on embedded platforms where
this setup conflicts with lldb-platform.
rdar://175455380
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
[CIR] Add nonnull on returns and pointer params (#188281)
Add nonnull to return attributes when the function has
ReturnsNonNullAttr (e.g. operator new), guarded by !NullPointerIsValid.
Add nonnull to pointer parameters with __attribute__((nonnull)), both
per-parameter and function-level forms.
Thread targetDecl into constructFunctionArgumentAttributes and build a
parallel ParmVarDecl array in the zip_equal loop to access
parameter-level attributes without manual index arithmetic.
Restrict->noalias handling has been moved to #191483.
lsof: Do not include _STABLE, _RC, etc. suffixes in version comparison.
Avoid (some) unnecessary system version warnings on NetBSD. The ABI
should not change between 11.0_BETA, 11.0_RC*, 11.0, and 11.0_STABLE.
In fact it should not change between 11.0, 11.1, 11.2, and so forth.
The only exception is *.99.* (e.g. 11.99.5), where the full version
should be compared.
XXX: This could be improved to only compare the major version when
the minor version is less than 99.
mac_seeotheruids: allow specificgid to be a list of groups
The specificgid functionality has historically allowed only a single
group to be exempt, but in practice one might want a few services to
be exempt for reasons. From a security perspective, we probably don't
want to encourage unrelated users to be grouped together solely for
this purpose, as that creates one point of shared access that could be
used for nefarious purposes.
Normalize the group list as we do cr_groups to allow for linear matching
rather than quadratic, we just need to account for the differences in
FreeBSD 15.0+ where cr_groups is entirely supplementary groups vs.
earlier versions, where cr_groups[0] is the egid and the rest is
sorted.
Reviewed by: csjp, des (earlier version)
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D56592
13157 maxbw can kill link with hires tick
17908 Removing maxbw can trap a Tx SRS in SRS_RESTART_DONE
17917 SRS_BW_ENFORCED is misnamed
17922 mac_tx_srs_drain, mac_tx_srs_enqueue do not correctly handle fanout hints
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Ryan Zezeski <ryan at zinascii.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
18078 snoop should report drops when capturing to file
Reviewed by: Gordon Ross <gordon.w.ross at gmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
key lookup failure should always return EACCES
spa_do_crypt_abd() already maps a missing key to EACCES. However
spa_do_crypt_mac_abd(), spa_do_crypt_objset_mac_abd(), and
spa_crypt_get_salt() still return the raw
spa_keystore_lookup_key() error (ENOENT). This is inconsistent
As we want to treat all “no key” failures as a permission
failure. Standardize on EACCES for the unloaded-key case.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alek Pinchuk <alek.pinchuk at connectwise.com>
Closes #18448
[AArch64][PreISelIntrinsicLowering] Adjust tests to include -march=+sve (#193833)
These tests are exercising expansion of scalable vectors. This is
ill-defined without SVE as there aren't such legal vector types. This
mostly doesn't change the output (since the ops being exercised are
Expand in both configurations), but for fcanonicalize we're testing the
wrong result as this _shouldn't_ be (and isn't) expanded when you have
SVE.
ZTS: zpool_iostat_002_pos increase sleep time
Allow an additional second for the test to complete before checking
the results. This may explain occasional test failures in the CI.
Additionally, when the test fails dump the tmpfile for inspection.
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18455
ZTS: add targeted redundancy_draid_spare exception
When sequentially resilvering a dRAID pool it's possible that a few
correctable checksum errors will be reported. This is a known issue
which is occasionally observed in the CI. Until it's resolved we
want the test case to tolerate a few checksum errors in this scenario
to prevent false positives in the CI.
This change also has the additional side effect of standardizing in
one location how the dRAID pool integrity is verified.
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Issue #18307
Issue #18319
Closes #18436
[Clang] Fix sret AS for non-trivial-copy returns. (#186275)
classifyReturnType used getAllocaAddrSpace() for sret, which is wrong
on targets like AMDGPU where alloca lives in addrspace(5). For types
with deleted copy/move constructors, there is no way to construct into
a temp and copy out — the sret pointer must point directly to the caller's
destination in the default address space.
Add a target hook getSRetAddrSpace() so AMDGPU can return LangAS::Default
for non-register-passable types.
Fixes issue #185744