[all-commits] [llvm/llvm-project] 4fa13a: [clang][OpenMP] Fix getNDSWDS for aarch64.
Francesco Petrogalli via All-commits
all-commits at lists.llvm.org
Tue May 5 09:28:35 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 4fa13a3dac1e0ff4dbab8810ae0dc413ce6bc927
https://github.com/llvm/llvm-project/commit/4fa13a3dac1e0ff4dbab8810ae0dc413ce6bc927
Author: Francesco Petrogalli <francesco.petrogalli at arm.com>
Date: 2020-05-05 (Tue, 05 May 2020)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/aarch64_vfabi_NarrowestDataSize.c
A clang/test/OpenMP/aarch64_vfabi_WidestDataSize.c
Log Message:
-----------
[clang][OpenMP] Fix getNDSWDS for aarch64.
Summary:
This change fixes an aarch64-specific bug in the generation of the NDS and WDS values used to compute the signature of the vector functions out of OpenMP directives like `declare simd`. When the directive is used in conjunction with the `linear` clause, the size of the pointee must be used instead of the size of the pointer to compute NDS and WDS.
The code-fix is strictly related to the behavior for `linear`, but given that the only way we have to test the NDS and WDS values is to check the resulting `<vlen>` token in the mangled name of the vector function, the tests have been extended to cover all the possible values of WDS and NDS as defined in the ABI at https://github.com/ARM-software/abi-aa/tree/master/vfabia64.
Reviewers: ABataev, jdoerfert, andwar
Reviewed By: jdoerfert
Subscribers: yaxunl, kristof.beyls, guansong, danielkiss, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D78969
More information about the All-commits
mailing list