Issue |
137121
|
Summary |
Missing handling of nontemporal clause inside atomic construct
|
Labels |
new issue
|
Assignees |
|
Reporter |
kaviya2510
|
This PR : https://github.com/llvm/llvm-project/pull/118751 is handling the translation of nontemporal clause by adding a nontemporal attribute to load and store operation, but the case of atomic construct is not handled.
Here is the minimal example which needs to be handled.
>This likely doesn’t need to be addressed in this PR, but keep in mind that some operations—such as atomic operations—may eventually lower to load and store instructions and could be missed.
```
integer :: i
integer :: counter
integer, dimension(100) :: arr
counter = 0
!$omp simd nontemporal(arr)
do i = 1, 100
!$omp atomic capture
arr(i) = counter
counter = counter + 1
!$omp end atomic
end do
!$omp end simd
end
```
_Originally posted by @kiranchandramohan in https://github.com/llvm/llvm-project/issues/118751#issuecomment-2824324261_
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs