[openmp][flang] To add a cmake option to build OPENMP Fortran modules only without building the libomp lib (#195576)
PR #192687 Introduces a dependency to the Fortran intrinsic module when
building `openmp` Fortran modules, which requires a Flang enabled llvm
build in order to build `openmp` Fortran modules.
This PR is to add a cmake option `LIBOMP_FORTRAN_MODULES_ONLY` to allow
users to build 'openmp` Fortran modules only for Flang without building
the libomp runtime library.
This will allow libomp.a/so build still be independent from the Flang
build as before.
E.g. To build `openmp` Fortran modules only for Flang, one would need to
use the following options.
```
cmake \
...
-DLIBOMP_FORTRAN_MODULES_ONLY=ON \
-DLLVM_ENABLE_PROJECTS="flang" \
-DLLVM_ENABLE_RUNTIMES="openmp" \
...
[Hexagon] Correctly split masked loads/stores after widening (#190689)
Non-power of 2 masked loads and stores are first widened to a power of 2
size. If the original vector was larger than the single HVX register
size, they become multiples of the double HVX register size (e.g.
v64f32, v128f32). Since double vector types are legal but do not support
masked operations, they are split during custom lowering.
MemoryVT is not changed during widening and the original code assumed
that MemoryVT is the same as the operand type and always equal to the
double HVX register size.
For example, @llvm.masked.store.v80f32.p0 is first widened to v128f32,
then split into two v64f32 (MemoryVT = v64f32 and v16f32). The first
half was lowered correctly but the second one could not be split due to
the unexpected v16f32 MemoryVT.
www/apache24: Add GDBM option
This adds a GDBM option which defaults to on and makes the libgdm
dependency conditional on that option.
Clean up removed TLS module
PR: 291447
Differential Revision: https://reviews.freebsd.org/D56843
MFH: 2026Q2
[FileCheck][NFC] Complete FileCheckDiag class hierarchy (#195571)
This patch depends on PR #195569 and finishes its effort to decouple the
`-dump-input` presentation layer (in
`llvm/utils/FileCheck/FileCheck.cpp`) and the FileCheck library's
diagnostic emission (in `llvm/lib/FileCheck/FileCheck.cpp`).
The focus of this patch is finally eliminating `enum MatchType` and
completing the `FileCheckDiag` class hierarchy. That enables the
following improvements.
Replace MatchTy and InputRange
==============================
`-dump-input` needs some means to determine (1) whether some notes
should be filtered in by `-dump-input-filter=error`, and (2) where to
place some notes in the input dump. Without this patch series, the
FileCheck library provides that information by copying the following
from a match result to any note that does not have its own versions: (1)
[46 lines not shown]
[lldb] Centralize arm64e testing logic (#195961)
`build_arm64e` was defined in several test files and most of the
implementations needed to be adjusted for correctness. Instead of fixing
them individually, I introduce an "Arm64eBaseTest" class and override
its `build` method. The base class is decorated so that these tests will
be skipped if arm64e is unsupported.
[OpenMP][offload] Add enhanced cross-team reduction test (#195940)
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.
[AMDGPU] Pre-commit unit test for RP tracking reset/advance behavior
This adds a new AMDGPU unit test file for testing the behavior of
`GCNRPTracker` and its related classes. The two test showcase confusing
return value and behavioral semantics for variants of the advance and
reset functions, which will be clarified in a follow up commit.
This also moves some common test helpers from other AMDGPU unit tests to
the `AMDGPUUnitTests` TU to avoid repetition between unit tests.
ipsec: restyle the connections page
Introduce the base apply button to the page and improve
UX and UI:
1. Local/remote now show ID
2. Tabbed dialog with cancel button and better save/cancel
placement
3. Better grid spacing in tabbed dialog
4. Apply now closes the tabbed dialog, but save does not
5. Avoid grid flapping in tabbed dialog
Co-authored-by: Stephan de Wit <stephan.de.wit at deciso.com>
Discussed-with: @Monviech
[analyzer] Fix security.VAList false positives with C23 va_start (#192024)
The `security.VAList` checker only recognized `__builtin_va_start` when
matching `va_start` calls.
In C23, `va_start` was changed to expand to `__builtin_c23_va_start`
instead, causing the checker to never see the initialization. This
resulted in false positives for every use of `va_arg`, `va_end`,
`va_copy`, and functions like `vsnprintf` on any `va_list` initialized
with the C23 `va_start`.
Add a CallDescription for `__builtin_c23_va_start` and match it
alongside the existing `__builtin_va_start`.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
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]
Get rid of struct dtls1_retransmit_state.
In order to retransmit DTLS messages we potentially need to use the
record protection from a previous epoch. However, DTLS currently also
saves and restores the session, which is unnecessary - all of the
record protection and keys are handled in the TLS record layer.
Remove the rather useless dtls1_retransmit_state struct and just
keep the epoch - keeping pointers hanging around to sessions is pretty
nasty and unnecessary.
ok kenjiro@ tb@
[clang][ssaf] Rework addEntity to take NamedDecl (#194448)
This patch changes `addEntity` to take a `NamedDecl` to be able to
calculate the linkage for the entity.
It will try to get an `EntityName` and then try to get a Linkage for it.
Bundling the EntityName creation and then setting the linkage makes this
API safer as nobody can forget to set the linkage this way.
Assisted-By: claude
[FileCheck][NFC] Introduce MatchResultDiag and MatchNoteDiag (#195569)
This patch depends on PR #195568 and continues its effort to decouple
the `-dump-input` presentation layer (in
`llvm/utils/FileCheck/FileCheck.cpp`) and the FileCheck library's
diagnostic emission (in `llvm/lib/FileCheck/FileCheck.cpp`).
Similar to compiler errors/warnings/remarks vs. notes, the
`FileCheckDiag` series emitted by the FileCheck library contains match
results, each of which might be followed by a series of associated notes
before the next match result. Without this patch series, that
association is not formally modeled by `FileCheckDiag` or clearly
documented, and `-dump-input` is not able to easily reason about it.
This patch improves the situation by introducing two `FileCheckDiag`
derived classes: `MatchResultDiag` and `MatchNoteDiag`. It extends
`FileCheckDiagList` to directly associate each `MatchNoteDiag` with its
`MatchResultDiag`. Thus:
- `FileCheckDiagList::adjustPrevDiags` no longer has to determine that
[8 lines not shown]
Avoid use of uninitialised decode_error variable.
Pull initialisation of decode_error and invalid_key up to
tls_key_share_{client,server}_peer_public(), which are the entry points
for the key share code. The entry point was previously
tls_key_share_peer_public(), however with the introduction of MLKEM this
was split into separate client and server functions, without the
initialisation being included. Also initialise decode_error and
invalid_params on entry to tls_key_share_peer_params().
Code that reaches tls_key_share_client_peer_public_mlkem768x25519() could
previously result in code branching based on decode_error, which is
uninitialised stack based memory.
Thanks to Guido Vranken of Aisle Research for reporting this issue.
With and ok tb@