You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The PR #131603 introduces a TODO for atomic capture for different yet compatible types. Such scenarios require implicit type casting, and end up emitting > 3 operations in the atomic capture region:
program main
integer :: x
real :: y
!$omp atomic capture
y = x
x = x + 1
!$omp end atomic
end program main
The above test produces the following TODO: not yet implemented: atomic capture requiring implicit type casts
The text was updated successfully, but these errors were encountered:
…(#138163)
This patch adds support for emitting implicit casts for atomic capture
if its constituent operations have different yet compatible types.
Fixes: llvm/llvm-project#138123 and
llvm/llvm-project#94177
The PR https://github.com//pull/131603 introduces a TODO for atomic capture for different yet compatible types. Such scenarios require implicit type casting, and end up emitting > 3 operations in the atomic capture region:
program main
integer :: x
real :: y
!$omp atomic capture
y = x
x = x + 1
!$omp end atomic
end program main
The above test produces the following TODO: not yet implemented: atomic capture requiring implicit type casts
The PR #131603 introduces a TODO for atomic capture for different yet compatible types. Such scenarios require implicit type casting, and end up emitting > 3 operations in the atomic capture region:
The above test produces the following TODO:
not yet implemented: atomic capture requiring implicit type casts
The text was updated successfully, but these errors were encountered: