diff options
| author | Shilei Tian <tianshilei1992@gmail.com> | 2021-07-26 11:00:32 -0400 |
|---|---|---|
| committer | Shilei Tian <tianshilei1992@gmail.com> | 2021-07-26 11:00:44 -0400 |
| commit | 3274cdc83ecdf2af569ad4f564d55d0e43b1072e (patch) | |
| tree | 971ce6676acab625998582b557a91c0dd563a51f /llvm/tools/llvm-objcopy/ELF/Object.cpp | |
| parent | 8cd8120a7b5d4c6f7674679b53477b51fd054a27 (diff) | |
| download | llvm-3274cdc83ecdf2af569ad4f564d55d0e43b1072e.zip llvm-3274cdc83ecdf2af569ad4f564d55d0e43b1072e.tar.gz llvm-3274cdc83ecdf2af569ad4f564d55d0e43b1072e.tar.bz2 | |
[Clang][OpenMP] Remove the mandatory flush for capture for OpenMP 5.1
In OpenMP 5.1:
> If the `write` or `update` clause is specifieded, the atomic operation is not an atomic conditional update for which the comparison fails, and the effective memory ordering is `release`, `acq_rel`, or `seq_cst`, the strong flush on entry to the atomic operation is also a release flush. If the `read` or `update` clause is specified and the effective memory ordering is `acquire`, `acq_rel`, or `seq_cst` then the strong flush on exit from the atomic operation is also an acquire flush.
In OpenMP 5.0:
> If the `write`, `update`, or **`capture`** clause is specified and the `release`, `acq_rel`, or `seq_cst` clause is specified then the strong flush on entry to the atomic operation is also a release flush. If the `read` or `capture` clause is specified and the `acquire`, `acq_rel`, or `seq_cst` clause is specified then the strong flush on exit from the atomic operation is also an acquire flush.
From my understanding, in OpenMP 5.1, `capture` is removed from the requirement for flush, therefore we don't have to enforce it.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D100768
Diffstat (limited to 'llvm/tools/llvm-objcopy/ELF/Object.cpp')
0 files changed, 0 insertions, 0 deletions
