diff options
author | Tejas Belagod <tejas.belagod@arm.com> | 2024-03-27 15:32:51 +0530 |
---|---|---|
committer | Tejas Belagod <tejas.belagod@arm.com> | 2025-04-08 11:50:49 +0530 |
commit | b9164bd768707c305fb778f74d9d8805ffae1523 (patch) | |
tree | c6637b1b62d8d1e8d4c5abd2cb9dda4b504dc14a /gcc/rust/backend/rust-compile-expr.cc | |
parent | 7058b2d0c9d2240c4b30c97cfa4cae33e2d845cc (diff) | |
download | gcc-b9164bd768707c305fb778f74d9d8805ffae1523.zip gcc-b9164bd768707c305fb778f74d9d8805ffae1523.tar.gz gcc-b9164bd768707c305fb778f74d9d8805ffae1523.tar.bz2 |
AArch64: Diagnose OpenMP offloading when SVE types involved.
The target clause in OpenMP is used to offload loop kernels to accelarator
peripeherals. target's 'map' clause is used to move data from and to the
accelarator. When the data is SVE type, it may not be suitable because of
various reasons i.e. the two SVE targets may not agree on vector size or
some targets don't support variable vector size. This makes SVE unsuitable
for use in OMP's 'map' clause. This patch diagnoses all such cases and issues
an error where SVE types are not suitable.
Co-authored-by: Andrea Corallo <andrea.corallo@arm.com>
gcc/ChangeLog:
* target.h (type_context_kind): Add new context kinds for target clauses.
(omp_type_context): Query if the context is of OMP kind.
* config/aarch64/aarch64-sve-builtins.cc (verify_type_context): Diagnose
SVE types for a given OpenMP context.
(omp_type_context): New.
* gimplify.cc (omp_notice_variable): Diagnose implicitly-mapped SVE
objects in OpenMP regions.
(gimplify_scan_omp_clauses): Diagnose SVE types for various target
clauses.
Diffstat (limited to 'gcc/rust/backend/rust-compile-expr.cc')
0 files changed, 0 insertions, 0 deletions