aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-expr.cc
diff options
context:
space:
mode:
authorTejas Belagod <tejas.belagod@arm.com>2024-03-27 15:32:51 +0530
committerTejas Belagod <tejas.belagod@arm.com>2025-04-08 11:50:49 +0530
commitb9164bd768707c305fb778f74d9d8805ffae1523 (patch)
treec6637b1b62d8d1e8d4c5abd2cb9dda4b504dc14a /gcc/rust/backend/rust-compile-expr.cc
parent7058b2d0c9d2240c4b30c97cfa4cae33e2d845cc (diff)
downloadgcc-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