[flang][OpenMP] Implement LoopSequence class, calculate sequence length (#185296)
This is a tree-like structure that can represent nesting of loop
sequences, or, if the sequences are of length 1, a loop nest.
Issue: https://github.com/llvm/llvm-project/issues/185287
[DA] Refactor the signature of the Weak Zero SIV tests (NFC) (#185825)
Change the signatures of the Weak Zero SIV tests, specifically by
passing an addrec directly instead of separating it into the coefficient
and constant. This form is more useful to address the several
correctness issues in those tests.
[Offload] AMD Flang bot to use CMake cache file (#186070)
Converting the current bot config to use the CMake cache file that we
use in other bots (offload/cmake/caches/AMDGPUBot.cmake). This PR
removes all CMake settings that the cache file already sets and only
leaves those that were either not set explicitly or which differ.
Thus, first load the cache file and then adjust the settings to override
existing values.
[LLVM][CodeView] Add `S_REGREL32_INDIR` (#183172)
This adds `RegRelativeIndirSym` (`S_REGREL32_INDIR`) as a record, so we
can emit and dump it (#34392). It encodes a variable at the location
`*($Register+ Offset) + OffsetInUdt` and is used by MSVC in C++ 20
coroutines and C++ 17 structured bindings. Clang also needs this for
coroutines (for `__promise` which has the location `DW_OP_deref,
DW_OP_plus_uconst, 16`).
For example:
```cpp
struct Foo { int a, b; };
void fn() {
Foo f = {1, 2};
// ╰─ S_REGREL32{ reg = rsp, offset = 0 }
auto &[x, y] = f;
// │ ╰─ S_REGREL32_INDIR{ reg = rsp, offset = 8, offset-in-udt = 4, type = int }
[17 lines not shown]
[Clang][AArch64] Remove duplicate CodeGen test for bf16 get/set intrinsics (#186084)
The following test files contain identical test bodies (aside from the
RUN lines):
* clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
* clang/test/CodeGen/arm-bf16-getset-intrinsics.c
The differences in the RUN lines do not appear to be relevant for the
tested functionality. This change keeps a single test file and
simplifies its RUN lines to match the generic style used in
clang/test/CodeGen/AArch64/neon.
This also moves toward unifying and reusing RUN lines across tests.
[HLSL] Implement Texture2D::operator[]
Implments the Texture2D::operator[] method. It uses the same design as
Buffer::operator[]. However, this requires us to chagne the
resource_getpointer intrinsic to accept integer vectors for the index.
Assisted-by: Gemini
[flang][OpenMP] Implement checks of intervening code (#185295)
Invalid intervening code will cause the containing loop to be the final
loop in the loop nest. Transparent intervening code will not affect
perfect nesting if present. Currently compiler directives are considered
transparent to allow code mixing OpenMP and such directives to compile.
Issue: https://github.com/llvm/llvm-project/issues/185287
[VPlan] Simplify the computation of the block entry mask. (#173265)
When encountering a control-flow join, VPPredicator emit a disjunction
over the incoming edge masks as the entry mask of the joining block.
However, such a complex mask is not always necessary. If the block is
control-flow equivalent to the header block, we can directly use the
header block’s entry mask as the entry mask of that block.
This patch introduces a VPlan post-dominator tree to determine whether a
block is control-flow equivalent to the header block, and simplifies the
computation of block masks accordingly.
Based on #178724
defguard-gateway: updated to 1.6.3
1.6.3
This is a security patch for the major 1.6 release.
It includes dependency updates to resolve the following CVEs:
CVE-2026-25541CVE-2026-25727
defguard: updated to 1.6.4
1.6.4
This is a security patch for the major 1.6 release.
It includes dependency updates to resolve the following CVEs:
CVE-2026-25537
GHSA-7587-4wv6-m68m
GHSA-8h58-w33p-wq3g
GHSA-c7ph-f7jm-xv4w
CVE-2026-25727CVE-2026-25639CVE-2026-2391
[AMDGPU] Fix missing "---" in MIR test. NFCI. (#186097)
The only problem this caused was confusing the update script so that it
failed to update checks in the following function.
[libc] Use the proper name for the 'llvm-gpu-loader' (#186101)
Summary:
This used to be two separate executables but was merged awhile back. The
LLVM libc code was never updated to use the new tool name and a recent
refactoring unintentionally removed the symlinks. Just look for
`llvm-gpu-loader`.
net/xfr: update to 0.9.4
Added
--no-mdns flag (#41) — xfr serve --no-mdns disables mDNS service registration for environments where multicast is unwanted or another service already uses mDNS.
server.no_mdns config support — also configurable via [server] no_mdns = true in ~/.config/xfr/config.toml.
Changed
Delta retransmits in interval reports (#36) — plain text interval lines now show per-interval retransmit deltas instead of cumulative totals, making it easier to spot when retransmits actually occur. Hidden intervals from --omit, --quiet, or larger --interval settings no longer get folded into the next visible rtx: value. Final summary still shows cumulative totals.
devel/serie: update to 0.7.0
What's Changed
Refresh by @lusingander in #131
Dealing with HEAD not pointing to a commit by @lusingander in #133
Rename some keys in keybindings by @lusingander in #136
Add some new user command variables by @lusingander in #137
User command reorganization by @lusingander in #138
Improve handling of space-separated variables by @lusingander in #139
Add suspend user command type by @lusingander in #140
[LowerMemIntrinsics][AMDGPU] Optimize memset.pattern lowering
This patch changes the lowering of the [experimental.memset.pattern intrinsic](https://llvm.org/docs/LangRef.html#llvm-experimental-memset-pattern-intrinsic)
to match the optimized memset and memcpy lowering when possible. (The tl;dr of
memset.pattern is that it is like memset, except that you can use it to set
values that are wider than a single byte.)
The memset.pattern lowering now queries `TTI::getMemcpyLoopLoweringType` for a
preferred memory access type. If the size of that type is a multiple of the set
value's type, and if both types have consistent store and alloc sizes (since
memset.pattern behaves in a way that is not well suitable for access widening
if store and alloc size differ), the memset.pattern is lowered into two loops:
a main loop that stores a sufficiently wide vector splat of the SetValue with
the preferred memory access type and a residual loop that covers the remaining
set values individually.
In contrast to the memset lowering, this patch doesn't include a specialized
lowering for residual loops with known constant lengths. Loops that are
statically known to be unreachable will not be emitted.
[7 lines not shown]
[LowerMemIntrinsics] Avoid emitting unreachable loops in insertLoopExpansion
This patch refactors insertLoopExpansion and allows it to skip loops that are
statically known to be unreachable and make conditional branches with a
statically known condition unconditional. Those situations arise when the loop
count is a known constant.
These cases don't occur at the existing call sites in the memcpy and memset
lowering, since they have custom handling for constant loop sizes anyway. They
will however occur in a follow-up patch that uses insertLoopExpansion for
memset.pattern, where similar custom handling for constant loop sizes would
make less sense.
This is mostly NFC with the current use except for slight changes in the branch
weight computation from profiling data (which causes the included test
changes).