Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit d3eae72

Browse files
committed
[OPENMP] Codegen for "#pragma omp atomic write"
For global reg lvalue - use regular store through global register. For simple lvalue - use simple atomic store. For bitfields, vector element, extended vector elements - the original value of the whole storage (for vector elements) or of some aligned value (for bitfields) is atomically read, the part of this value for the given lvalue is modified and then use atomic compare-and-exchange operation to try to atomically write modified value (if it was not modified). Also, changes in this patch fix the bug for '#pragma omp atomic read' applied to extended vector elements. Differential Revision: http://reviews.llvm.org/D7369 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230736 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 0a3c6cd commit d3eae72

File tree

6 files changed

+942
-198
lines changed

6 files changed

+942
-198
lines changed

0 commit comments

Comments
 (0)