[libc++] Forward calls to ranges::swap_ranges to the 3-leg implementation if possible (#176762)
This allows us to make use of any optimizations to `std::swap_ranges` in
`ranges::swap_ranges`.
This patch also moves some code specific to `ranges::swap_ranges` into
`ranges_swap_ranges.h`.
sysutils/py-ansible-core220: Add new port
Ansible-core 2.20.1 brings in new features and bugfixes. It will not
work with our default python311. Until Python 3.12 becomes default,
to build this port add DEFAULT_VERSIONS+=python=3.12 to make.conf
and rebuild all python packages needed to build this port prior to
building and installing this port.
[flang] Lowering fortran structured do-while loops to `scf.while` (#177476)
WIP. Implemented structured do-while loops (i.e., the only control-flow
edge that can leave the outer loop is the one taken when the DO WHILE
condition becomes false) lowering to `scf.while`.
[regalloc][LiveRegMatrix][AMDGPU] Fix LiveInterval dangling pointers in LiveRegMatrix. (#168556)
This patch correctly removes segments from LiveRegMatrix that reference LiveIntervals removed after spilling. Added validity check that LiveRegMatrix doesn't contain invalid references to intervals.
[mlir][spirv] Enforce `SPIRV_Vector` to have rank of one (#178185)
Currently only vector length is enforced however this allows vectors of
rank >1 to pass the verification as long as the length agrees. This
change restricts `SPIRV_Vector`s to be of rank 1 as required by the
SPIR-V spec.
This also fixes a bug where `SPIRV_Composite` allowed high ranked
vectors but `spirv::CompositeType` did not leading to cast assertions
where the composite type was assumed.
Finally, this change adds two new common constraints that can enforce
all three: rank, length and type.
fixes #178127
[RISCV] Reorder some check-prefixes in a way that makes the update script work. NFC (#178120)
Prior to this, the update_llc_test_checks script would generate ZVFBFA
and ZVFBFWMA checks that were already included in ZVFHMIN.
[RISCV] Remove 'implicit $vl' from PseudoVMV_X_S in emergency-slot.mir. NFC (#178015)
This instruction doesn't use VL and the pseudo doesn't have a VL
operand. According to VSETVLIInserter tests, this instruction only gets
implicit $vtype added to it.
[MemRef] Propagate strided layout through view-like ops in multiBuffer (#176941)
The memref::multiBuffer transformation replaces an allocation with a
multi-buffered allocation and creates a strided memref.subview at each
loop iteration. When the original allocation is used through view-like
ops, the existing code only handles SubViewOp, leaving other view-like
ops with incorrect types.
This patch extends replaceUsesAndPropagateType to handle ExpandShapeOp,
CollapseShapeOp, and CastOp using TypeSwitch. For each view-like op, we
compute the correct result type (or assert on failure) and create a new
operation, then recursively propagate the updated type through chains.
New FileCheck tests cover expand_shape, collapse_shape, cast, and a
chained expand_shape->cast case.
A single ViewLikeOpInterface hook is not practical here: view-like ops
have distinct type inference and validity rules (e.g., subview uses
offset/size/stride inference, expand/collapse use reassociation, cast
requires compatibility checks). Ops like memref.view or
[2 lines not shown]
ip_mroute: Convert to using a regular mutex
The multicast routing code was using spin mutexes for packet counting,
but there is no reason to use them instead of regular mutexes, given
that none of this code runs in an interrupt context. Convert to using
default mutexes.
Reviewed by: glebius
MFC after: 2 weeks
Sponsored by: Stormshield
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D54603
NAS-139409 / 26.0.0-BETA.1 / Fix reboot reasons for HA (by Qubad786) (#18090)
## Problem
There were different problems identified with reboot reasons management
with HA:
1. We were setting reboot reason after rebooting remote node in case an
exception happened which meant that the remote would have to be rebooted
again because we would have stored it's boot_id as none at that point.
2. For any reboot reason, we always set disabled reasons as FIPS which
is wrong and we should show actual reason HA is being shown as disabled
3. Active node's reboot reason was added after remote had rebooted which
is not nice
4. We did not set appropriate reboot reason for FIPS/STIG if both were
toggled and only FIPS got added
## Solution
[14 lines not shown]
[Flan][OpenMP] Implement TODO support for compatible defaultmap types for implicit mappers (#177389)
Make implicit default mapper generation respect defaultmap categories so
unrelated defaultmap clauses no longer suppress mappers for derived
types.
Added related tests.
[PowerPC] Fix XXPERMDI peephole and ISEL LiveVariables bugs (#172122)
Fixes https://github.com/llvm/llvm-project/issues/159116
Prevent XXPERMDI splat optimization when the splat output register is
used in other instructions, which caused undefined register references.
Also track removed ISEL operands in simplifyToLI to prevent
LiveVariables corruption during ISEL-to-COPY conversion.
[flang][OpenMP] Update semantic checks for LINEAR clause (#177055)
Fixes https://github.com/llvm/llvm-project/issues/173980.
In particular, make step-simple-modifier be compatible (i.e. not
exclusive) for OpenMP spec versions < 52, and update the modifier
validity checks for the construct on which the clause is located.
[mlir][dataflow] Drop the firstIndex argument of visitNonControlFlowArguments (#175210)
This PR improves the signature of `visitNonControlFlowArguments`:
- The function now takes non-successor-inputs ("non-control-flow
arguments") instead of successor inputs. This is more consistent with
the naming of the function.
- `firstIndex` is no longer needed and dropped. (It was needed only to
identify the non-successor-inputs among the block arguments / op
results.)
Background: Successor inputs are forwarded values (e.g., iter_args / op
results of an `scf.for`) and non-successor-inputs are all other block
arguments / op results (e.g., the loop induction variable of an
`scf.for`.)
Note for LLVM integration: `visitNonControlFlowArguments` now receives
the non-successor-input directly. You no longer have to find those among
the list of all block arguments / op results based on `firstIndex`.
RFC:
https://discourse.llvm.org/t/rfc-drop-the-firstindex-argument-of-visitnoncontrolflowarguments-of-sparseforwarddataflowanalysis/89419/5