[clang][test] Add `%clang_cc1_cg_arm64_neon` substitution (#188547)
Add a LIT substitution `%clang_cc1_cg_arm64_neon` expanding to:
```python
clang -cc1 -internal-isystem <path> \
-triple arm64-none-linux-gnu \
-target-feature +neon -o -
```
This invocation is repeated across multiple tests. Introducing a
substitution reduces duplication, shortens RUN lines, and ensures
consistency across `clang -cc1` invocations.
Shorter RUN lines also make test-specific flags easier to spot.
[mlir][gpu] Reject conflicting async operands on gpu.launch_func (#196012)
Reject gpu.launch_func ops that have both async dependencies and an
explicit async object.
[mlir] Use custom mlir::Complex type for non-float complex numbers (#191821)
Instantiating std::complex for types where std::is_floating_point<T> is
false is not allowed, and throws warnings when building with MSSTL. This
patch fixes those warnings by introducing an mlir::Complex type, which
is a typedef to std::complex when T satisfies is_floating_point, and a
custom complex type otherwise.
The std::complex implementation from libc++ has been used as a guide for
implementing the custom type.
Fixes #65255
[OpenMP][offload] Inline target reductions
Significantly reduces register usage and removes register spilling in
`offload/test/offloading/multiple-reductions.cpp`, for example.
Provides speedup of up to 5-10x for a lot of reductions in such a larger
setup.
forge: Update to 0.4.2
Changes:
v0.4.2
* Ignore ssh_host from project .forge config
* Strip control characters from forge-sourced text before printing
* Update dependencies
v0.4.1
* Use cosign v4 bundle format for release signing
* Update dependencies
if_vlan: Use the exclusive lock everywhere
Running sys/net tests in parallel reveals some panics which look like
the one below:
```
shared lock of (sx) vlan_sx @ /home/markj/sb/main/src/sys/net/if_vlan.c:2395
while exclusively locked from /home/markj/sb/main/src/sys/net/if_vlan.c:1850
panic: excl->share
cpuid = 9
time = 1776467219
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00d84e0780
vpanic() at vpanic+0x136/frame 0xfffffe00d84e08b0
panic() at panic+0x43/frame 0xfffffe00d84e0910
witness_checkorder() at witness_checkorder+0xdb1/frame 0xfffffe00d84e0ad0
_sx_slock_int() at _sx_slock_int+0x64/frame 0xfffffe00d84e0b10
vlan_ioctl() at vlan_ioctl+0x25c/frame 0xfffffe00d84e0b70
if_setflag() at if_setflag+0xdc/frame 0xfffffe00d84e0be0
[27 lines not shown]
eventhandler: Fix a race when pruning eventhandlers
By default, eventhandler_deregister() blocks until it reaches some point
where no threads are invoking the event. At this point, it knows that
1) no threads are currently executing the handler,
2) some thread has freed the eventhandler structure by virtue of having
called eventhandler_prune_list(),
so it is safe to return.
Suppose a thread is trying to deregister an event handler. A different
thread prunes it, and wakes up the first thread. Before the first
thread runs, a third thread grabs the event handler lock, and starts
executing handlers. The first thread observes el_runcount > 0, and goes
back to sleep. The third thread sees no event handlers to prune, and
doesn't wake up the first thread, which sleeps forever.
This change fixes the race and tries to make eventhandler_invoke() more
efficient: keep a count of the number of dead list entries and only
prune the list if there is at least one dead entry. Also, in
[7 lines not shown]
[OpenMP][offload] Add enhanced cross-team reduction test
Tests different patterns of OpenMP cross-team reductions, for multiple
data types.
If run with `LIBOMPTARGET_INFO=16`, shows current register spilling due
to dispatch jump chains (which grow for every reduction in the same
translation unit) for indirect function calls in the reduction runtime.
Fix double free of hr_file (later handled by bozo_clean_request())
Also hr_file_free should be used for free(3) (it fixes "//~user/" case
in which hr_file points to the last slash in the prefix).
[lldb] Remove name field from StatsSuccessFail (#195039)
Each *Stats struct is supposed to serialize into JSON and contains the
data to serialize *itself* into JSON. However, the StatsSuccessFail also
contains a `name` field which is only interesting for the *parent* Stats
class. This patch just removes the field as it is only used for storing
a constant string that is only used once during serialization.
[gn] Fix a benign bug in write_cmake_config.py (#196043)
A local read() function was ignoring its parameter and was instead
always using the value that was passed in as parameter anyways.
No actual behavior change.
py-pymysql: updated to 1.1.3
v1.1.3
Security
* Fix `Cursor.callproc()` didn't escape procedure name.
There was a possibility of SQL injection when calling a procedure with a string received from an untrusted source as the procedure name.
NOTICE: This change may cause backward compatibility issues. If you specified a procedure name like `"dbname.funcname"`, the previous version called `CALL dbname.funcname`, but from this version, it will call ``CALL `dbname.funcname` `` so you cannot specify procedure name with database name anymore.