[OpenMP][offload] Add cross-team reduction performance test
Tests different patterns of OpenMP cross-team reductions. Should not be
included in regular `ninja check-offload` runs, thus excluded.
[NFC][CIR] Pass StringRef to `getIntrinsicForClangBuiltin` directly (#195458)
`prefix` is already a StringRef, so pass it to
`getIntrinsicForClangBuiltin` and `getIntrinsicForMSBuiltin` directly.
Additionally, drop some redundant `llvm::` and `Intrinsic::` namespace
qualifiers.
[PowerPC] Remove duplicate patterns for atomic_swap
The definition and implementation of atomic_load_* and atomic_swap
is basically similar. Changing the way how the operations are
enumerated makes it possible to remove the separate patterns for
atomic_swap.
[PowerPC] Further refactor atomic loads (#194445)
Depending on the availability of the word-part feature, different code
is generated for 1 and 2 byte atomic loads. This change moves the
decision to use the word-part feature from C++ into TableGen patterns.
This is done via:
- move code from `EmitPartwordAtomicBinary()` into new function
'signExtendOperandIfUnknown()'
- decouple functions `EmitPartwordAtomicBinary()` and
`EmitAtomicBinary()`
- remove the size from the name of the pseudo instructions; instead,
introduce a pseudo instruction which is used in case the word-part
feature is missing
- update the handling of the pseudo instruction insertion accordingly
A side effect of this change is the implementation requires 11 pseudo
instructions less.
[flang] Implement SIMPLE procedure support (parsing, semantics, diagnostics) (#161285)
Implement support for the Fortran 2023 `SIMPLE` procedure specifier.
This change includes:
- Parsing and attribute registration for `SIMPLE` procedures
- Adding `SIMPLE` to procedure characteristics
- Semantic support for `SIMPLE`, including treating `SIMPLE` procedures
as `PURE` (`SIMPLE` implies `PURE`)
- Rejecting `SIMPLE` + `IMPURE` combinations
- Emitting and reading `SIMPLE` in mod files
- Adding parser, semantic, and modfile tests to validate `SIMPLE`
behavior
`SIMPLE` procedures satisfy `PURE` requirements, while `PURE` procedures
do not imply `SIMPLE`.
[LV] Extend test coverage with predicated IVs and FORs. (#195908)
Add coverage to test where the induction phi itself is a live-out, as
well as various tests where we could either generate a predicated IV or
first-order recurrence.
NAS-140916 / 27.0.0-BETA.1 / remove (unmaintained) remote pdb dep (#18907)
The `core.debug` API method exposed a remote PDB debugger over a TCP
socket. Drop it (and its `python3-remote-pdb` dependency) for three
reasons:
- The upstream `remote-pdb` package is unmaintained.
- The `threaded=True` code path does not work.
- It is unusable on its own — a developer has to install third-party
tooling just to attach to the socket, so the endpoint provides no value
out of the box.
Removed:
- `core.debug` method in
`src/middlewared/middlewared/service/core_service.py`
- `CoreDebugArgs` / `CoreDebugResult` from
`src/middlewared/middlewared/api/v27_0_0/core.py` (kept in frozen
v25_10_*/v26_0_0 for back-compat)
- `python3-remote-pdb` from `src/middlewared/debian/control`
(Build-Depends and Depends)
- `'core.debug'` entry from `tests/unit/test_role_manager.py`
Add middleware support for LIO ALUA HA
Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage ALUA
state across failover events, clean up STANDBY configfs on pool
export, and add pre-flight validation that targets have static
initiator ACLs before ALUA can be enabled.
For each target, create a portal-less phantom TPG carrying the peer
node's controller group so that a single RTPG response from any
connected port lists both ALUA groups. Write tpgt_N/rtpi explicitly
before enable so that relative target port IDs in RTPG match the
tag formula (portal.tag on Node A, portal.tag + 32000 on Node B)
rather than being auto-assigned sequentially by the kernel.
ALUA group states are driven by role and ha_state:
MASTER + synced local=OPTIMIZED remote=NONOPTIMIZED
MASTER + connected local=OPTIMIZED remote=TRANSITIONING
[4 lines not shown]
[SSAF][PointerFlow] Add PointerFlow summary and extractor (#188654)
Implement a PointerFlow summary and extractor, which uses
EntityPointerLevel. An assignment is extracted as a pair of
EntityPointerLevels, representing a directed edge.
Edges extracted from assignments form a directed graph
encoding abstract pointer flow information.
rdar://172429193
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Co-authored-by: Jan Korous <jkorous at apple.com>