Issue |
151159
|
Summary |
[flang][OpenMP] Lowering crashes for composite distribute simd constructs with private clause
|
Labels |
flang
|
Assignees |
mrkajetanp
|
Reporter |
mrkajetanp
|
After recent changes to the lowering of composite do simd constructs, programs like the following no longer ignore the simd information.
```
program main
integer, allocatable :: tmp
allocate(tmp)
!$omp teams distribute simd private(tmp)
do i=1, 10
tmp = tmp + 1
end do
end program
```
Instead, they crash with:
```
error: loc("/repr.f90":4:9): 'omp.distribute' op loop wrapper does not contain exactly one nested op
error: verification of lowering to FIR failed
```
This only happens when the privatised variable needs a non-trivial privatiser, because delayed privatisation is not handled correctly.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs