[mlir][OpenMP] Translate omp.declare_simd to LLVM IR
Translate omp.declare_simd operations to LLVM IR by computing Vector
Function ABI (VFABI) mangled names and attaching them as function
attributes. This reuses function parameter mangling and codegen logic
in OpenMPIRBuilder which was extracted form Clang [2][3].
For each omp.declare_simd, lowering computes:
- ParamAttrs: one entry per function argument, classifying it as
Vector / Uniform / Linear (+ step or var-stride) / Aligned.
- Branch kind: Undefined / Inbranch / Notinbranch.
- VLEN: either from simdlen() or derived from ISA-specific rules.
x86 (SSE/AVX/AVX2/AVX-512):
Emits mangled names following the x86 Vector ABI [1]:
_ZGV<ISA><Mask><VLEN><ParamAttrs>_<name>
[33 lines not shown]
splitmix64.h:14: error: expected '=', ',', ';', 'asm' or '__attribute__' befor
e 'uint64_t'
Move to ports-gcc on base-gcc arches to fix build on sparc64
devel/p4: Update to 2024.2 release patch 2 (2907753)
Also, found that there is support to use tcp keepalive settings
which perforce wants to set and which are configurable, but the
implementation is Linux specific.
Add code to fix this portability problem.
Problem is being reported upstream.
While we're here, freshen patch-Jamrules.
PR: 293924
Approved by: antonfb at hesiod.org (maintainer)
Reland "[flang][openacc] Prevent SimplifyArrayCoorOp from folding rebox used by ACC data entry ops (#187616)" (#187626)
The SimplifyArrayCoorOp canonicalization pattern folds fir.rebox into
fir.array_coor by replacing the rebox result with its source. When the
rebox result is the variable of an acc.copyin (or other data entry op),
this folding breaks the chain that LegalizeDataValuesInRegion relies on
to replace host values with device pointers inside compute regions. With
default(none), ACCImplicitData cannot recover the mapping, leaving the
rebox source as an illegal live-in in the offload region.
This is causing illegal live-ins at higher optimization levels.
Guard the folding so it bails out when any user of the rebox is an
ACC_DATA_ENTRY_OPS.
The buildbots failure were cuased by a missing dependency
[mlir-python] Fix duplicate EnumAttr builder registration across dialects. (#187191)
When multiple dialects share td `#includes` (e.g. `affine` includes
`arith`), each dialect's `*_enum_gen.py` file registers attribute
builders under the same keys, causing "already registered" errors on the
second import; the first commit checks in such a case which currently
fails on main:
```
# | RuntimeError: Attribute builder for 'Arith_CmpFPredicateAttr' is already registered with func: <function _arith_cmpfpredicateattr at 0x78d13cbe9a80>
```
This PR implements a two-pronged fix:
1. Add `allow_existing=True` to `register_attribute_builder` (and the
underlying C++ `registerAttributeBuilder`). When set, silently skips
registration if the key already exists (first-wins semantics). This
handles `EnumInfo`-based builders which have no dialect prefix (e.g.
`AtomicRMWKindAttr`, `Arith_CmpFPredicateAttr`), which may be emitted by
[13 lines not shown]
[flang][NFC] Converted five tests from old lowering to new lowering (part 35) (#187407)
Tests converted from test/Lower/Intrinsics: len.f90,
lge_lgt_lle_llt.f90, log.f90, matmul.f90, max.f90
[clang][headers][endian.h] add some common extensions (#187565)
This PR adds two common extensions to `endian.h` found in some
implementations which we've encountered usages of in existing code (which
are allowable under POSIX), namely:
- double underscore versions of the byte order macros
- PDP endianness macros
(note: we don't attempt to implement the actual conversion helpers for
PDP endianness, as LLVM doesn't support these targeting platforms with
this endianness, we just provide the macro so code checking against them
on other targets will compile)
NAS-140375 / 26.0.0-BETA.2 / Preserve Persistent Reservation state across HA failover (by bmeagherix) (#18522)
During HA failover, on the new ACTIVE node:
- Configure the SCST kernel driver to dump PR registrations and
reservations to /var/lib/scst/pr_dump/<serial> at device
unregister time.
- Restore the PR state to extents before target access is reenabled
Also add a CI test that verifies that registrants and a WRITE EXCLUSIVE
reservation survive two successive failovers.
----
Because the CI adds **two** failovers, it has been tagged as requiring
the `extended_tests` flag. Ran this test locally.
HA CI test
[here](http://jenkins.eng.ixsystems.net:8080/job/tests/job/sharing_protocols_tests/1802/)
shows no iSCSI regressions.
[4 lines not shown]
[orc-rt] Redesign Session to provide a clearer lifecycle. (#187496)
A Session begins in the Start state. In this state no calls will be
received from the controller (since none is attached yet). This provides
clients with an opportunity to configure the Session before attaching a
ControllerAccess object with the `attach` method.
The first call to the `attach` method will register a ControllerAccess
object with the Session, and the ControllerAccess's connect method will
be called to establish a connection with the controller.
If ControllerAccess::connect fails it must call
ControllerAccess::notifyDisconnected, at which point the Session will
proceed to the Detached state.
If ControllerAccess::connect succeeds (i.e. returns without calling
notifyDisconnected) then the Session moves to the Attached state, and
calls can be made in both directions between the executor and
controller.
[18 lines not shown]
Add CI test for PR state preservation across HA failover
Two initiators register keys and one holds a WRITE EXCLUSIVE reservation.
The system is failed over twice (failback included) and after each failover
both keys and the reservation are verified on both paths.
(cherry picked from commit ab3fb208eb187eaf043fcd3eb15ff51b4b15c4a3)
Preserve PR state across failover device transition
Set pr_dump_dir on the dev_disk handler before tearing down HA sessions
so the kernel dumps PR state at unregister time. After the replacement
vdisk_blockio devices are created, restore the saved state and swap the
LUNs in without generating a device-replacement UA.
(cherry picked from commit c3ad9e03e4ed586ee01ac3cb3c5c0b26ba8cf5d5)
NAS-140375 / 27.0.0-BETA.1 / Preserve Persistent Reservation state across HA failover (#18520)
- Preserve PR state across failover device transition
- Add CI test for PR state preservation across HA failover
[LoongArch] Ensure .dwo sections do not contain relocations (#187429)
When linker relaxation is enabled, LoongArchAsmBackend may emit
relocations for same-section symbol differences, even when the fixup
is in a .dwo section. This leads to errors such as:
error: A dwo section may not contain relocations
Split DWARF (.dwo) sections must not contain relocations. Fix this by
resolving such fixups immediately when they are emitted into .dwo
sections, even if the referenced symbols are in relaxable sections.
This avoids generating invalid relocations in .debug_*.dwo sections
when compiling with -gsplit-dwarf and -mrelax.
Fixes #187428
[M68k] Fix pipeline.ll test after CodeGenPrepare analysis change (#187617)
211279d11c36 added Post-Dominator Tree Construction, Branch Probability
Analysis, and Block Frequency Analysis before CodeGen Prepare but missed
updating the M68k pipeline test.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>