[NFC][AArch64] Split fptoi tests and add scal_to_vec convert tests (#179315)
This patch splits simd-fptoi tests into strictfp and nonstrictfp files
for simplicity and adds tests which will test correct insertion of
bitcasts to certain scalar_to_vector variant which will be introduced in
#172837.
java/openjdk21-25: Bootstrap from prebuilt packages
Completes the transition to using prebuilt packages to bootstrap OpenJDK
ports.
PR: 289731
Reviewed by: jrm, fuz (mentor)
Approved by: fuz (mentor)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54731
[libc++] Simplify and optimize the run-benchmarks script (#181382)
Instead of configuring and running the benchmark suite once for SPEC and
once for the microbenchmarks, run it only once for everything. This
saves a configuration of the test suite (which includes building Google
Benchmark).
To replicate the functionality we had with --disable-microbenchmarks
(whose goal was mostly to run only SPEC), introduce a --filter argument
that can be used to select exactly which benchmarks are run. This is
simpler and more powerful.
Making this work requires hardcoding the only C++ standard that works
for SPEC (C++17) inside spec.gen.py instead of expecting it to be set
correctly when running the test suite.
[libc++] Fix `gps_time` formatting and related tests (#181560)
- The Standard wording in https://eel.is/c++draft/time.format#13 is similar
to TAI formatting in that it's equivalent to formatting a `sys_time`
with a fixed offset. Leap seconds should not be considered.
- Tests need to be adjusted by adding the number of leap seconds between
the GPS epoch and the tested date, which is 15s for 2010 and 18s for
2019.
- The TAI and GPS tests using `meow_time<cr::duration<long, ...>>`
should use `long long` because the offset swill overflow a 32-bit
signed integer.
[X86][Clang] Add constexpr support for _mm_min_ss/_mm_max_ss/_mm_min_sd/_mm_max_sd/_mm_min_sh/_mm_max_sh intrinsics (#178029)
- Added boolean IsScalar argument to the helper functions in
InterpBuiltin/ExprConstant
- Made minsh_round_mask, maxsh_round_mask constexpr only for
_MM_FROUND_CUR_DIRECTION rounding mode.
- Added helper function for scalar round mask in
InterpBuiltin/ExprConstant
Resolves #175198
update to gawk-5.4.0, fixes pma on OpenBSD
this version includes a new regular expression matcher, minRX.
unlike previous this is POSIX-compliant; the old matchers are still
present for now and can be selected by setting a GAWK_GNU_MATCHERS
environment variable. see README_d/README.matchers.
[Flang][OpenMP] Add pass to replace allocas with device shared memory
This patch introduces a new Flang OpenMP MLIR pass, only ran for target device
modules, that identifies `fir.alloca` operations that should use device shared
memory and replaces them with pairs of `omp.alloc_shared_mem` and
`omp.free_shared_mem` operations.
This works in conjunction to the MLIR to LLVM IR translation pass' handling of
privatization, mapping and reductions in the OpenMP dialect to properly select
the right memory space for allocations based on where they are made and where
they are used.
This pass, in particular, handles explicit stack allocations in MLIR, whereas
the aforementioned translation pass takes care of implicit ones represented by
entry block arguments.
[Flang][MLIR][OpenMP] Add explicit shared memory (de-)allocation ops
This patch introduces the `omp.alloc_shared_mem` and `omp.free_shared_mem`
operations to represent explicit allocations and deallocations of shared memory
across threads in a team, mirroring the existing `omp.target_allocmem` and
`omp.target_freemem`.
The `omp.alloc_shared_mem` op goes through the same Flang-specific
transformations as `omp.target_allocmem`, so that the size of the buffer can be
properly calculated when translating to LLVM IR.
The corresponding runtime functions produced for these new operations are
`__kmpc_alloc_shared` and `__kmpc_free_shared`, which previously could only be
created for implicit allocations (e.g. privatized and reduction variables).
[Docs] Clarify that -w suppresses warnings, not all diagnostics (#182670)
The UsersManual previously stated that -w disables all diagnostics.
However, -w suppresses warning diagnostics only; errors are still
emitted.
[MLIR][OpenMP] Refactor omp.target_allocmem to allow reuse, NFC
This patch moves tablegen definitions that could be used for all kinds of heap
allocations out of `omp.target_allocmem` and into a new
`OpenMP_HeapAllocClause` that can be reused.
Descriptions are updated to follow the format of most other operations and the
custom verifier for `omp.target_allocmem` is removed as it only made a
redundant check on its result type.