[SPIRV] Implement bare bones lowering for G_PREFETCH (#215505)
Map G_PREFETCH to OpenCL prefetch if SPV_KHR_untyped_pointers is not
enabled, otherwise drop.
Fixes https://github.com/llvm/llvm-project/issues/214265
NAS-142157 / 26.0.0-RC.1 / Fix drift-repair apps test calling a nonexistent method (#19498)
## Problem
`test_drift_repair_ix_apps` calls `docker.start_service`, which doesn't
exist on this branch — the method is registered as
`docker.state.start_service` on the private `DockerStateService`. The
test was brought over from master, where the docker plugin's typesafe
conversion collapsed that service into the public `docker` namespace. It
has failed with "Method does not exist" on every CI run since it landed,
so the drift-repair path it covers has never actually been exercised
here, and it leaves `/mnt/.ix-apps` at 0755 because it loosens the perms
before the call that would re-tighten them.
## Solution
Point the call at `docker.state.start_service`. Same function and same
default `mount_datasets=False` — master's `docker.start_service` just
delegates into it.
[Flang][OpenMP] PoC module support for allocate directives
This patch implements partial support for `allocate` on Fortran
module variables, based on adding global constructor functions for each
impacted variable.
Shared as a proof of concept, because I have a few concerns about it:
1. It appears that Clang ignores `allocate` directives on global
variables instead. Is that the expected behavior?
2. The existing implementation for `allocate` in Flang doesn't
actually impact where the memory used for a variable resides. It
allocates/deallocates extra memory for it using OpenMP internal
compiler calls but then that storage is never used. The original
alloca is still used. This addition suffers from the same issue:
global constructors allocate extra memory that is never used to
update in any way the associated global variable or its users.
3. No `omp.allocate_free` (should be `omp.allocate.free`) can be added
by this approach.
4. The representation of `omp.allocate_dir` (should be `omp.allocate`)
[10 lines not shown]
[lldb-dap][NFC] Fix deprecated SB API usages (#216006)
lldb-dap has accumulated over time several calls to deprecated SB API
functions. Since #215818 we actually emit the missing deprecation
warnings which breaks the lldb-dap build with -Werror. This patch
replaces the deprecated functions with the equivalent non-deprecated
version.
Note that this patch is intentionally NFC and I just added TODOs for the
missing error handling.
assisted-by: claude
www/mod_auth_mysql2: Deprecate and set expiration date
Abandoned upstream (1.11 from 2016 was explicitly the final release).
"Require group" authorization is silently non-functional with Apache
2.4, and the SSL option no longer builds against MySQL 8.x. All functionality
is covered by mod_authn_dbd / mod_authz_dbd shipped with Apache itself.
PR: 245911
Sponsored by: Netzkommune GmbH
www/mod_auth_mysql2: Deprecate and set expiration date
Abandoned upstream (1.11 from 2016 was explicitly the final release).
"Require group" authorization is silently non-functional with Apache
2.4, and the SSL option no longer builds against MySQL 8.x. All functionality
is covered by mod_authn_dbd / mod_authz_dbd shipped with Apache itself.
PR: 245911
Sponsored by: Netzkommune GmbH
[APINotes] Strip selector volatile and nested nullability from parameter selectors (#215266)
Address @Xazax-hun's comments about volatile and nullability stripping
from
https://github.com/llvm/llvm-project/pull/213043#pullrequestreview-4830763715.
This strips top-level `volatile` like top-level `const` when building
`Where.Parameters` selector spellings, and recursively strips
nullability through pointer-like layers such as `int * _Nullable *
_Nullable`.
This is a prequel PR to
https://github.com/llvm/llvm-project/pull/213043.
Reviewers: @Xazax-hun @j-hui @egorzhdan
[RISCV] Fix prefetch ADDI-adjustment range upper bound (#215985)
SelectAddrRegImmLsb00000 folds a large constant offset into an ADDI plus
a simm12_lsb00000 prefetch immediate. The positive range [2017, 4065]
overflowed simm12 at the top end: CVal - 2016 reaches 2048/2049,
producing an invalid ADDI. Narrow it to 4063; 4064/4065 now fall through
to selectConstantAddr instead.
Revert "[offload] Fix compatibility for level_zero 25.22.33944- #2142… (#216010)
…15 (#215977)"
This reverts commit 77c8ecd7a6b912b6c61665f623f864c4cba52a00.
Level zero approach to zex pointers is a little inconsistent and I need
to rework the PR. Some APIs such as
`zeCommandListAppendLaunchKernelWithArguments` would return `SUCCESS` on
older versions and provide a valid pointer to implemntation, but in more
recent versions of level zero you would get `ERR_INVALID_ARGUMENT`.
[libc++][pstl] Implementation of parallel uninitialized_default_construct, uninitialized_value_construct and uninitialized_fill (#214580)
This PR adds parallel versions of these functions:
- `std::uninitialized_default_construct`
- `std::uninitialized_default_construct_n`
- `std::uninitialized_value_construct`
- `std::uninitialized_value_construct_n`
- `std::uninitialized_fill`
- `std::uninitialized_fill_n`
They use parallel `for_each` under the hood and are effectively
one-liners, e.g.:
```c++
return ForEach()(policy, std::move(first), std::move(last), [&value](Ref element) {
::new (static_cast<void*>(std::addressof(element))) ValueType(value);
});
```
Fixes #134590.
[4 lines not shown]
[Flang][OpenMP] Prevent allocate directive ICE on module variables
The current lowering implementation for `allocate` directives assumes
the MLIR function in which it is creating operations will still be there
by finalization time, so that it can add a deallocation call.
When lowering Fortran modules, this is not the case (lowering happens
in a temporary dummy function) and it results in a compiler crash
while running cleanup callbacks. This patch adds a TODO for this case.
clang/AMDGPU: Respect __launch_bounds__ attribute (#215615)
Currently the HIP headers manually implement this with a
macro setting amdgpu attributes, and the proper clang attribute
is silently ignored. Directly map the proper attribute into
the target IR attributes. The first argument sets
"amdgpu-flat-work-group-size" and the second (reinterpreted by HIP
as minimum waves per EU) sets "amdgpu-waves-per-eu". An explicit
amdgpu_flat_work_group_size / amdgpu_waves_per_eu attribute takes
precedence. This matches the launch_bounds macro in the HIP headers,
which can now be dropped.
The 3rd maxclusterrank argument is only handled for NVPTX, so restrict
the sm_90 arch check to NVPTX targets and ignore the third argument on
other targets.
Fixes #91468
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>