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

Reply via email to